1、数组作为函数参数的时候,其实传递给函数的是数组的首地址
2、指针++,一次移动 一个类型那么长的距离
定义:指向结构体变量的指针
结构体指针:
STU
stu2 = {
"zhangsan2"
,
'm'
,
86
};
STU *o = &stu2;
STU *o = &stu2;
printf("%s",o->name);
//(*p).name
先通过指针找到指针指向的结构体变量,通过结构体变量对结构体成员进行操作
//p->name
直接通过直接访问结构体成员变量
#warning
如果使用
.
进行成员变量的访问,必须保证对象是结构体变量;如果使用指向操作符
->
进行成员变量的访问,必须保证对象时结构体指针类型。
宏
//
宏命名规范:
1
、纯大写
2
、
k+
驼峰
#define PI 4.1415926
#define PI 4.1415926
#define kMaxValue 1000//
这是规范,前面加小写
k
。
//
带参数的宏
#define MUl(A,B) A*B
//
宏只做替换,不考虑优先级,下面的语句输出的是
17
printf("%d", MUl(4 + 2, 5 + 3));
//
如果只想让运算结果如预期,对应的加上括号
所以正确的宏应该这样写:
#define MUl(A,B) ((A)*(B))
条件编译,有三种形式,按照不同的条件,编译不用的代码