c语言中指针详解及特殊符号
在“结构”中出现的->运算符成为“右箭头选择”,可以用new_node->value = 10;来代替(*new_code).value = 10;即运算符->是运算符*和运算符.的结合,先对new_node间接寻址以定位所指向的结构,再选择结构的成员value。
(int*)a和int*a的区别:(int*)a将指针变量a强制转换为整型指针,说明a一般不是一个整型指针,也可以是个整型指针。int*a,定义一个整型指针变量a。
int * &a和int & *a区别:分析此类语句时,先看a前紧跟的是什么,它决定了a的类型。而int后的一个空格是为了防止int *a, b;//a是指针,而b不是。
int * *a:它的功能和int * &a一样,两者生成的二进制代码一样。这再一次说明了引用就是指针。
传递变量的引用(eg:fun(int &pid))。形参是引用变量,和实参是一个变量,调用函数时,形参指向实参变量单元。这种通过形参引用可以改变实参的值。
const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。
void *是指无属性的指针,换言之,就是这个指针可以指向任意数据类型的地址