比如
int b ,c,d;
字面上很容易认为改语句把所有三个变量声明为指向整型的指针,但事实上并非如此,星号实际上是表达式b的一部分,只对这个标识符有用,b是指针其余两个只是普通类型。
要声明三个指针是 int *b ,*c,*d;
声明指针变量时,你可以为它指定初始值,声明一个指针并用字符串常量对其进行初始化:
char *message= " Hello world!";
这条语句把message声明为一个指向字符的指针,并用字符串常量第1个字符的地址对该指针进行初始化
typedef
c语言支持一种叫做typedef的机制,它允许你为各种数据类型定义名字。typedef声明的写法和声明基本相同,只是把typedef这个关键字出现在声明的前面,例如,下面这个声明
char *ptr_to_char
把变量ptr_to_char声明为一个指向字符的指针,但,在加关键字typedef后,声明变为 typedef char *ptr_to_char;
这个声明把标识符ptr_to_char作为指向字符的指针类型的新名字,可以像使用预定义名字一样在下面的声明中使用这个新名字
ptr_to_char a;
声明a是一个指向字符的指针。