在c语言中,先定义了类型,后有的标识符,这些标识符组成的表达式,用于产生基本类型的变量 例如 int *a; 这条语句表示*a表达式产生的结果类型int ,知道*操作符的作用是间接访问操作,就可以知道a是指向int 的指针。 c语言其实是很自由的语言。 知道编译机制,编译器编译时会将代码中的空格去除掉,链接最后转成二进制机器码,让机器可以识别 所以有下面这种定义形式 int* a; 可以看到这样比上面那个更清晰更容易看懂,a被声明为类型为int*类型的指针。但这并不是个好技巧。你可以看看下面这个定义。 int* a, b, c; 你可以看到认为定义了a,b,c都是int*类型的指针。但是这样理解是错误的 这个定义只仅仅定义了a是int*类型的指针变量。很意外吧 正确的定义形式是这样的 int *a, *b, *c; 这个才真正定义a,b,c都为int*类型的指针。所以那样定义就是个陷阱。以后要多注意 |
|