【C语言】指针由浅入深全方位详解
目录
指针定义
指针类型
野指针
指针运算
指针与数组的联系
二级指针
指针数组
字符指针
数组指针
数组参数,指针参数
函数指针
函数指针数组
回调函数
练习题
代码仓库
指针定义
1. 指针是内存中一个最小单元的编号,也就是地址。
2. 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量。
3. 我们可以通过 &(取地址操作符) 取出变量的内存起始地址,把地址可以存放到一个变量中,这个变量就是指针变量。
4. 指针的大小在32位平台是4个字节,在64位平台是8个字节
int a = 100; int * pa = &a; //*表示pa是指针变量。 //int表示 1.pa指向的类型是int 2.pa解引用的时候访问的对象大小是sizeof(int)。
指针类型
1. 指针类型可以决定指针解引用的时候访问多少个字节(指针的权限)
int* 的指针解引用访问4个字节。
char* 的指针解引用访问1个字节
2. 指针类型决定指针加1减1操作时的步长
整型指针+1跳过4个字节,字符指针+1跳过1个字节
野指针
1. 概念
野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)。
2. 野指针成因
//1.指针未初始化 int *p;//局部变量指针未初始化,默认为随机值 *p = 20; //2.指针越界访问 int arr[10] = {0}; int *p = arr; int i = 0; for(i=0; i
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。