1.界说指针变量的一样寻常形式如下:
范例名 *指针变量名1; *指针变量名2,...........; 比方:int *p,*q;注意:每个变量前的星号是一个分析符,用来分析该变量是指针变量。变量前的星号不可省略,若省略了星号分析符,就变成了将 p 和 q 界说为整形变量。2.指针变量的基范例:
在这里重要分析一下为什么指针必须区分基范例。一个指针变量中存放的是一个存储单元的所在。这里“一个存储单元”中的“一”所代表的字节数是差别的:对 short int 范例整数而言,它代表2个字节;对 int 范例而言,它代表4个字节,这就是基范例的差别寄义。在涉及指针的移动,也就是要对所在举行增减运算,这时指针移动的最小单元是一个储存单元,而不是1个字节。因此对于基范例差别的指针变量,其内容增1、减1所“凌驾”的字节数差别,因此基范例差别的指针变量不能混淆利用。
int number = 4;int *a = malloc(8);a = &number;free(a);给指针 a 分配了8个字节的所在,a 又指向了 number 的所在,末了 a 开释了。这时间开释的是 number 的所在,而 number 是在栈区中,不能被手动开释,这时间就出现了栈的内存走漏。野指针