2025年3月28日 星期五 甲辰(龙)年 月廿七 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言间接引用(indirection)是什么

时间:12-30来源:作者:点击数:256

对已说明的变量来说,变量名就是对变量值的直接引用。对指向变量或内存中的任何对象的指针来说,指针就是对对象值的间接引用。如果p是一个指针,p的值就是其对象的地址;*p表示“使间接引用运算符作用于p”,*p的值就是p所指向的对象的值。

*p是一个左值,和变量一样,只要在*p的右边加上赋值运算符,就可改变*p的值。如果p是一个指向常量的指针,*p就是一个不能修改的左值,即它不能被放到赋值运算符的左边,请看下例:

例 7.1 一个间接引用的例子

  • #include <stdio.h>
  • int main()
  • {
  • int i;
  • int * p ;
  • i = 5;
  • p = & i; /* now * p = = i */
  • /* %Pis described in FAQ VII. 28 */
  • printf("i=%d, p=%P, * p= %d\n" , i, P, *p);
  • * p = 6; /* same as i = 6 */
  • printf("i=%d, p=%P, * p= %d\n" , i, P, *P);
  • return 0; /* see FAQ XVI. 4 */
  • }

上例说明,如果p是一个指向变量i的指针,那么在i能出现的任何一个地方,你都可以用*p代替i。在上例中,使p指向i(p=&i)后,打印i或*p的结果是相同的;你甚至可以给*p赋值,其结果就象你给i赋值一样。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门