1.指针小结:*的优先级低于[],(),数组名就是首元素的指针,函数名也即函数的指针
int
i;
整形变量i
int
*p;
变量p为指向一个整型变量的指针
int a[n];
定义含n个整型数值的数组a,a为数组名,即数组首元素的地址值,可写 p = a
int *a[n]; 定义含n个指针元素的数组a,a为数组名,即数组首元素的地址值,可写 p =
a,每个元素为指向一个整型变量的指针
int (*p)[n]; p为指向含n个元素的一维数组的指针变量 性质跟int
a[n];一样
int f();int (*p)();
定义函数f和(*p) 这两种的性质一样,前者只是更适合做函数调用,后者更适合拿函数的指针来操作
int *f(); 定义函数f,该函数返回一个指针,该指针指向一个整型变量
int **p; 指向指针的指针
2. C语言数据类型
基本数据类型:整型int、浮点型float(单精度)、double(双精度)、字符型char
构造类型:枚举型、数组、结构体、共用体
指针类型
空类型 void
其中枚举型:enum
days{one,two,three};结构体:struct stutdent{int age;int
year;};共用体形式与结构体一样,但整个所占内存大小为其中最长成员所占内存的大小
3. typedef 与define
typedef用来定义新的数据类型:typedef 类型1
类型2;(末尾有分号,用类型2代表类型1,编译时)
define同上:define 类型1 类型2
(末尾没分号,用类型1代替类型2,简单的字符串替换,预编译时)
网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022