1.条件编译
#ifdef
#ifndef
#else
#endif
2.格式
一。
#ifdef 宏名称
//任意语句
#endif 如果定义了指定的宏,则执行语句
二。
#ifdef 宏名称
//任意语句
#else
//任意语句
#endif
三。
使用#ifndef
#ifndef
//任意语句
#endif 如果未定义指定宏 则执行
四、
#ifndef
//任意语句
#else
#endif
指针变量:
&取地址运算符 这是一个单目运算符 后面通常紧跟一个变量,该运算符用于读取该变量的保存地址
*去变量运算符 单目运算符 紧跟一个指针变量 读取改制真变量所指的变量
两运算符优先级相同 从右向左运算
指向同一数组的指针相减得到之间的元素个数,可以比较,前面的小于后边的
在数组中,a[i]==p+i(p为指针)
注意:p++ p+=1 这种形式因都是在尝试对数组变量赋值故都是错误的
arr[];
for(int *p=arr,len=sizeof(arr)/sizeof(arr[0]);p
}
指针数组:
类型* 数组变量[长度] []优先级高于* 指针数组
类型(*数组变量)[长度] 第一一个指向一维数组的指针变量
例子:
char *strs[]={"OC","iOS","java","Ajax","Android"};
for(int i=0;i<5;i++){
printf("%s\n",strs[i]);
入口函数main(int argc,char *args[])
两个形参都用于接受用户运行改程序时输入的参数
argc 用户输入的参数个数
args[] 接收用户输入的多个参数字符串
printf("%d\n",argc);
for(int i=0;i
printf("%s\n",argv[i]);
}
使用终端并加入字符串
tongkang:543 KangTong$ ./a.out OC iOS // 空格被用作参数分隔符
3
./a.out
OC
iOS
--------------------------
typedef 给已经有的关键字起别名 一般用于struct block 或 enum
结构体变量初始化
struct person{
int age;
char *name;
}p1={20,"liping"};