[初试水]我的第一篇博(个人笔记),对于C指针的理解
C的定义
让我们来看看C里对指针的定义
指针是一种编程语言对象,它存储位于计算机内存中的另一个值的内存地址。指针引用内存中的一个位置,获得存储在该位置的值称为指针解引用。作为类比,一本书索引中的页码可以被认为是指向相应页面的指针;通过翻转到具有给定页码的页面并读取在该页面上找到的文本,可以取消这种指针的引用。指针变量的实际格式和内容取决于底层计算机体系结构。
接着我们来看看定义一个指针时和定义一个变量有什么不同:
int a=1911;
系统给我们定义的这个变量开辟了一个内存地址,并在这个地址里存放a的值
int* p=&a;
我们定义了P指针,并且把a的地址赋给p;
在这里,系统也为p开辟了一个内存地址,只不过与定义常量不同,这个内存里存放的是a的地址,当我们调用p时,p会为我们指向地址对应的区域,从而能够间接修改对应指向区域的值
在此,我们可以知道
&p=0X3030//p指针所在的地址
p=0X2020//p存放的值,也是p所指向的地址,也就是a的地址
*p=1911//p所指向的地址所存放的值,也就是a的值
#include<stdio.h>
int main()
{
int a = 1911;
int* p = &a;
printf("&p=%d,p=%d,*p=%d,&(*p)=%d,*(&p)=%d\n", &p, p, *p, &(*p), *(&p));
printf("a=%d,&a=%d\n",a,&a);
}
结果为
以上笔记来自B站up nene1212对于C指针的理解,可以说是简单易懂,一看就会(一 用 就 忘)了;
我会继续更新来自学习过程中对于知识的总结和理解!不要停下来啊!:)