C语言 指针的定义与理解

指针定义格式:
类型 *指针名;
例: int *p;


指针一般用来存储内存地址,我们可以对内存地址的内容进行修改,这种方式叫直接访问。

每个变量和函数都有他们对应的内存地址,只要变量跟函数没被释放,则一直存在。

可以把指针理解成旅馆的门牌号,而指针指向的变量可以理解成旅馆的旅客。


指针使用的目的是为了节省内存的空间。

比如我要将一个int a[1024]的数组传递到函数B,如果函数B对数组a进行了值传递,将a复制了一份拷贝进来,那会浪费很多的性能与时间。


试想一个,如果将a的首地址传递给函数B,那么函数B就不用进行拷贝操作,直接使用数组a的指针即可。
也可以这么理解:
a是一名旅客住在旅馆A,函数B则是旅馆B,旅馆B也有一名叫a的旅客,我想杀死A的旅客,所以我要得到旅馆A的那个旅客的门牌号。

所以在C语言里,数组当作参数传递给另一个函数的时候,默认传递的是数组的指针。

例子:

int a =5;
int *p = &a;
//&为取地址符,取a的地址

猜你喜欢

转载自blog.csdn.net/u013594490/article/details/93732377
今日推荐