本文共 789 字,大约阅读时间需要 2 分钟。
不怕学得慢,就怕不积累,在这里记录下来一些自己遇到的小问题。
1.C语言中的结构体声明、定义与使用积累:
(1)C语言与C++编译规则下对结构体的定义方法不同,C语言定义为struct A{};的结构体声明变量时必须使用struct A var;的方法,而C++下同样定义方法声明变量只需要A var;即可。
(2)在C++编译规则下使用结构体时可以像类一样使用结构体的声明进行预定义,例如:在a.h中定义的typedef struct a{}A;,在b.h中定义typedef struct b{A* var_a;}B;时不需要包含a.h的头文件,而可以使用结构体A的声明代替,即:struct A;
(3)使用typedef struct定义结构体的效果为:例如 typedef struct a{}A;则有struct a == struct A;(别名方法)
(4)定义结构变量的一般格式为: struct 结构名 { 类型 变量名; 类型 变量名; ... } 结构变量; 结构名是结构的标识符不是变量名。 另一种常用格式为: typedef struct 结构名 { 类型 变量名; 类型 变量名; ... } 结构别名; 另外注意: 在C中,struct不能包含函数。在C++中,对struct进行了扩展,可以包含函数。
2.在C/C++程序中,在函数的return之后,还是可以执行一些特定的函数,我们可以用()来注册需要在程序终止时调用的函数。这里要注意,如果一个函数被多次登记,那么该函数也将多次的执行。
3.C语言中通过指针与"++"操作修改指向数据时要注意运算顺序的问题,如:
int num = 0;
int* numPtr = #
*numPtr++; //错误,numPtr后移
(*numPtr)++; //正确,numPtr指向的值加1
转载地址:http://ljxws.baihongyu.com/