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的地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值