![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++语法积累
bjtuwyq
这个作者很懒,什么都没留下…
展开
-
C++函数加强
1、内联函数inline请求关键字, 内联编译内联函数的函数体,需要和实现写在一块#define MYFUNC(a, b) ((a) < (b) ? (a) : (b))//a 2 b 3inline int myfunc(int a, int b){ return a < b ? a : b;}C++中内联编译有限制:不能存在任何形式的循环语句;不能存在过多的条件判断语句;函数体不能过大;不能对函数进行取址操作;函数内联声明必须在调用语句之前。当函数的执行原创 2020-07-12 23:23:05 · 102 阅读 · 0 评论 -
引用
引用是C++的语法,不能用C语言的语法思考。引用在定义的时候就必须得给他赋值。中科院薛老师说过,引用是“引用其表,指针其实”。引用像一个常量,有分配内存。在C++内部是一个常量指针。&b相当于char *const p...原创 2020-07-12 22:43:23 · 70 阅读 · 0 评论 -
三目运算符在C和C++的区别
1)c语言中三目运算符是表达式,返回的是变量值,不能作为左值使用。2)c++中的三目运算符可直接返回变量本身,因此可以让表达式做左值,可出现在程序的任何地方。3)(a<b?1:b)=10;如果三目结果返回常量,则不能当左值,当右值仍可以。...原创 2020-07-11 16:34:57 · 190 阅读 · 0 评论 -
链表基础(增删查改)
静态链表的应用范围只限于本函数,有局限性,无法跨函数调用,所以在子函数中要malloc分配内存。链表的数据类型是结构体。#define _CRT_SECURE_NO_WARNINGS#include "stdio.h"#include "stdlib.h"#include "string.h"typedef struct Node{ int data; struct Node *next;}SLIST;SLIST *Creat_SList();//增int SList_NodeD原创 2020-07-07 23:49:05 · 125 阅读 · 0 评论 -
结构体基础
1、结构体本质相当于,自己定义了一个数据类型,数据类型的本质是固定大小内存块的别名。2、.c和.cpp对结构体类型定义变量的编译处理行为不一样。3、结构体类型typedef4、结构体变量内存按照四字节存放结构体变量做参数和结构体指针变量做参数不一样。结构体变量做参数实参往形参传递参数的实质是“=”,赋值。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<stri原创 2020-07-06 16:21:21 · 258 阅读 · 0 评论 -
避免野指针三步法
避免野指针的步骤:1、初始化时,指针变量赋值为NULLchar *p=NULL;2、释放的时候,判断指针是否为NULLif (p!=NULL) free(p);3、释放完毕后,在赋值成NULLif (p!=NULL) free(p); p=NULL;如果多次使用同一指针,要多次循环步骤2和步骤3。...原创 2020-07-05 16:07:48 · 134 阅读 · 0 评论 -
多维数组本质小结
#include "stdio.h"#include "stdlib.h"#include "string.h"void main33(){ int i = 0, j = 0, tmp = 0; //a是数组首元素的地址 int a [5] = {3, 4, 5, 6, 2}; //1 myarray数组首元素的地址吧 //2 myarray是一个常量指针 3k //3 myarray是一个数组指针 int myarray[3][5]; //直接定义一个数组指针 int (*p原创 2020-07-01 20:05:25 · 108 阅读 · 0 评论 -
数组指针小结
#include<stdlib.h>#include<stdio.h>#include<string.h>void main(){ int i = 0; int a; int *p = NULL; //arr代表数组首元素的地址(不是整个数组的地址,虽然二者值一样),arr是个指针常量 //变量---》指针变量-----》常量指针变量(常量指针) //不能被随便的改变指针变量的值(不能随便的改变指针的指向)相当于int func(int * con原创 2020-07-01 15:37:02 · 100 阅读 · 1 评论 -
二级指针的内存模型小结
此处定义:主调函数分配内存,称之为输入;被调函数分配内存,称之为输出;原创 2020-06-30 16:14:47 · 109 阅读 · 0 评论 -
const小结与应用
/******THE START/小结:1、const在一般变量中的用法:const int a = 10;int const b = 11;//a=12;//编译不了。const在定义a,b的作用是一样的。2、const在指针下的用法:const int *c=0xaa1122;// *c=10;编译不了,无法写,只读。int * const d=0xaa11; //称为常量指针。// d=0xaa22;无法改变d的值,编译不了。const char *const e;原创 2020-06-29 23:14:18 · 107 阅读 · 0 评论 -
struct和typedef struct的联系和区别
/---------------------------THE START----------------------------------/定义:1、typedef的定义语法:typedef existing-type new-type;关键字typedef 允许你从一个现有的类型中创建一个新类型。2、struct 的定义语法: struct struct-name : inheritance-list { public-members-list; pr原创 2020-06-27 13:53:55 · 240 阅读 · 0 评论