1.type * [类型的限定符] 名称[=初始化器]
*:指向…………的指针,也就是指向TYPE的指针。
类型限定符: const,volatile,restirct
2.空指针
空指针一定要有别于其他有效的指针,因此,返回值为指针 的函数通常会使用空指针做为失败的返回值
3.初始化器来初始化指针
. 一个空指针NULL
. 指向相同类型的指针
. 一个VOID 指针
如:int *p=NULL
int a=10;int *p=&a;
int *p=(void *) //ykz
char *p;
p="this is a test"; //c语言对字符串常量是按字符数组处理的,在内存开辟了一个字符数组来存放字符串常量
4. 如果将一个指针以“传值”的方式传入函数,好让函数可以修改它的值,那么此函数的参数就是指针的指针
5. 字符数组与字符指针
1) char str[14];
str = "i love china"; //这样赋值是错误的
char *a;
a="i love china" //正确的,但注意赋给a的不是字符,而是字符串的首地址
2)char *a="i love china" ;
等价于
char *a;
a="i love china" //正确的,但注意赋给a的不是字符,而是字符串的首地址
而对数组的初始化:
char str[14]="i love china"
不等价于:
char str[14];
str[]="i love china"; //即数组可以在变量定义时整体赋初值,但不能在赋值语句中整体赋值