- 一级指针
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 10; //在内存中开辟一块空间
int *p = &a;//这里我们对变量a,取出它的地址,可以使用&操作符。
//将a的地址存放在p变量中,p就是一个之指针变量。
return 0;
}
指针就是变量,用来存放地址的变量。(存放在指针中的值都被当成地址处理)。
指针是用来存放地址的,地址是唯一标示一块地址空间的。
指针的大小在32位平台是4个字节,在64位平台是8个字节。
- 二级指针
int main()
{
int b = 20;
int *ppa = &b;//等价于pa = &b;`在这里插入代码片`
int **ppa = 30; //等价于*pa = 30;
//等价于a = 30;
return 0;
}
指针变量也是变量,是变量就有地址,那指针变量的地址存在二级指针里。
3. 指针数组
是存放指针的数组。
int *arr1[10]; //整形指针的数组
char *arr2[4]; //一级字符指针的数组
char **arr3[5];//二级字符指针的数组
- 数组指针
是指向数组的指针。
int(*p)[10]; //p先和*结合,说明p是一个指针变量
注意:[]的优先级要高于 * 号的,所以必须加上()来保证p先和 * 结合