在C语言中什么是指针

如题所述

指针是C语言里面的一个重要概念,也是C语言的难点之一.指针可以表示许多复杂的数据结构,如队列,栈,链表,树,图等.
要学习指针,应该先了解以下几个概念:变量的地址,变量的内容,直接寻址,间接寻址.
变量的地址:变量在内存中所占存储空间的首地址.
变量的内容:变量在内存的存储单元中存放的数据.
如:
int a=10;//两个字节
假设a占的内存单元的地址为:2020和2021
则内存单元的地址为2020的是存放数据a(即10)的低字节,内存单元的地址为2021的是存放数据a即10)的高字节.
如果将变量a的首地址2020保存到另一个变量p中,那么为了访问变量a,我们可以通过变量p得到a的的地址2020,再到该地址中访问变量a.

直接寻址:直接按变量名来存取变量的内容的访问方式.
专门用于存放地址型数据的变量是指针变量,如上面所说的p.
间接寻址:通过指针变量(如P)间接存取它所指向的变量(如a)的访问方式称为间接寻址.
在上例中,a的地址用&a表示.由于p是保存地址型数据的,所以p=a的地址=&a
在此p就叫做指针(或指针变量)
其定义如下:
int *p;
指针有好多好处:
1.为函数提供修改变量值的手段.
2.为C的动态内存分配提供支持.
3.为动态数据结构提供支持.
4.可以改善程序的效率.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-16
第2个回答  2020-01-07
相似回答