首页 > 软件操作教程 > 编程开发 > C语言
题目内容

C语言 变量的访问方式

题目答案

对变量的访问实际上要转换为对内存地址的访问。C语言中对变量的访问有两种形式,直接访问方式和间接访问方式。

以下面这个程序为例,介绍这两种访问方式: 

main()

{

    int x;

    scanf("%d",&x);

    printf("%d",x);

}

(1)直接访问:直接利用变量名检索得到变量的地址,对变量进行存取。

    上例中scanf("%du,&x)的执行过程是这样的:用变量名x去检索内存分配表,查找变量x所在的内存地址(假设为4000 )。找到后,将从键盘上输入的值(如20 )送入到变量x的起始地址4000中。此时,变置x在内存中的地址和值如图所示。

(2)间接访问:通过另一变量访问该变量的值。

    间接访问一个变量可以描述为这样一个过程:李四想去张三的家里找张三,但他不知道张三家住在哪里。不过王五知道,李四可以打电话给王五,得到张三家的地址后,再去张三家找到张三。

    再比如,张三告诉李四,请你从我的第一个抽屉中找一份资料,但是要打开第一个抽屉,必须从第二个抽屉中找到钥匙。

    这两个例子都是表明这样一种情况:一个变量p中存储着另外一个变量x的地址,要访问变量x,必须先访问变量P。

    C语言规定,在程序中可以定义一种特殊的变量(称为指针变量),用来存放其他变量的地址。

    例如上例中,就可以定义一个指针变量p存储变量x的地址,p与x的关系如图所示。

3000

4000

变量X

20

         p

X


i


4000


20






4000

从图中可以看出,变量x的地址为4000, x中的值为20;指针变量p的地址为3000, p指向X。也就是说,指针变量p的内存单元中存储着变量x的地址。即指针变量p的值为x的地址(4000 )。

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端