关于指针和指针变量的理解?不知道是否正确?大佬们进来看看!!
本帖最后由 Cool_Breeze 于 2020-1-29 11:09 编辑指针:地址的首地址就叫指针
指针变量:存放首地址的变量就叫指针变量
大佬们!可以这样理解吗? 没错,是这样。 你的理解是对的!
系统为每一个内存单元分配一个地址值,C/C++把这个地址值称为“指针”。如有int i=5;,存放变量i的内存单元的编号(地址)&i被称为指针。
“指针变量”则是存放前述“地址值”的变量,也可以表述为,“指针变量”是存放变量所占内存空间“首地址”的变量(因为一个变量通常要占用连续的多个字节空间)。比如在int i=5;后有一句int *p=&i;,就把i的指针&i赋给了int *型指针变量p,也就是说p中存入着&i。所以说指针变量是存放指针的变量。
有一个事实值得注意,那就是有不少资料和教科书并没有如上区分,而是认为“指针是指针变量的简称”,如对int *p=&i;的解释是:声明一个int *型指针p,并用变量i的地址初始化;而严格说应该是声明一个int *型指针变量p才对。所以有时看书要根据上下文理解实质,而不能过于拘泥于文字表述。 我感觉:
指针=地址
而指针变量 是 指针所代表的地址所被储存的变量,唉,感觉越说越绕。 可以的
页:
[1]