指针使用小结

1.简单定义
int a=100;
int *p;
p = &a;
pringf("%d",*p);

int型指针指向变量a的地址,*表示“指向”,*p表示指针p所指向的变量。指针变量中*p只能存放地址(指针):*p = 100;是错误的。


2.指针与形参实参

</pre><p></p><pre name="code" class="html">p1 = &a;
p2 = &b;
temp = *p1;
*p1 = *p2;
*p2 = temp;


p1,p2值变,a,b值也变。


int *p;
p = p1;
p1 = p2;
p2 = p;


此时仅指针指向变,a,b值不变。


3.指针与数组


p = &a[0];  //p的值是a[0]的地址

p = a;  //p的值是数组a(即a[0])的地址


数组名只代表数组首元素的地址。

p+1指a[1]的地址。

*(a+5)与a[5]等价。取数组第六个元素的值。

p[i]相当于*(p+i),即a[i]的值。


两个地址不能相加,p1+p2是无实际意义。


*p++等价于*(p++),因为*与++优先级相同。先引用p的值,实现*p的运算,再使p自加1.


++(*p)表示p所指的元素值加1.


表示形式含义
a二维数组名,指向a[0],即0行首地址
a[0],*(a+0),*a0行0列地址
a+1,&a[1]1行首地址
a[1],*(a+1)1行0列即a[1][0]首地址
a[1]+2,*(a+1)+2,&a[1][2]1行2列即a[1][2]首地址
*(a[1]+2),*(*(a+1)+2),a[1][2]1行2列即a[1][2]元素的值

int(*p)[4]表示定义p为一个指针变量,指向包含4个整型元素的一维数组。




指向函数的指针和多重指针待补充。










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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值