C语言学习:一级指针的传递和偏移

指针理解:
指针使用的两种场景:1.传递、2.偏移。如果不是这两种场景,就不要用指针。
指针是专门用来存放地址的变量。
指针的内容就是地址。在win32程序中,所有地址都是4个字节的。所以所有类型的指针变量都占4个字节。
指针就是一个变量,指针本身也存在内存中。指针也有自己的地址。

一级指针的使用:传递 
在子函数中只要拿到i的地址。
#define OUT
void change(OUT int* p){      //子函数中定义了一个指针类型的变量p。为其分配了4个字节。
  *p=5;                             //通过间接访问i。
}
void main(){
  int i=3;
  change(&i);                   //把i的地址传递过去。 
}

一级指针的使用:偏移(即,一维数组与指针的关系)
void fun( int *p){                                 //定义指针p.通过值传递:p=&a[0]。等价于 void fun(int a[])
//void fun( int a[]){                               //数组弱化为指针。
  int i;
  for(i=0;i<5;i++
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值