要想学好C语言的指针首先要理解两个概念:
1、指针变量
2、指针所指向的值
这是两个不同的概念
首先是指针变量,在计算机中每个内存空间都有一个编号,人们叫它内存地址,就像各家各户的门牌号一样是唯一标识的,
而指针变量储存的就是这个编号。
然后是指针所指向的值是内存空间中的数值。
例如:
用char类型的变量举例
char a = 85;//这个变量a所占的内存空间是8个bit[0][1][0][1][0][1][0][1],假设第一个bit的内存地址是:0x7ffe59c01f48
那么:
char* p;//声明指针变量p
p = &a;//把变量a的内存地址(0x7ffe59c01f48)赋值给指针变量p,(&是取地址操作符)
printf("输出指针地址:%p\r\n", p);//输出指针地址:0x7ffe59c01f48
printf("输出指针所指向的值:%2d\r\n", *p);//输出指针所指向的值:85
*p += 1;//通过指针间接改变变量a内存中的值,[0][1][0][1][0][1][1][0]
printf("a:%2d\r\n", a);//a:86
C语言指针的理解
最新推荐文章于 2024-09-27 20:03:04 发布