设为首页 加入收藏

TOP

2.9.1 地址和指针
2013-10-12 07:00:41 来源: 作者: 【 】 浏览:110
Tags:2.9.1 地址 指针

2.9 指针

指针是C语言中的一种数据类型。掌握指针型数据的使用,是深入理解C语言特性和掌握C语言编程技巧的重要环节,正确灵活地使用指针,可以有效地描述各种复杂的数据结构,能够动态地分配内存空间,能够方便地操作字符串,还可以自由地在函数之间传递各种类型的数据,使程序简洁、紧凑,执行效率高。

2.9.1 地址和指针

首先需要了解程序中的数据在内存中是怎样进行存储的。在对程序进行编译时,程序中定义的变量会被分配到内存中的某一个单元,内存单元的长度由变量的类型决定。例如,int型变量分配2 个字节,float型变量分配4 个字节,char 型变量分配1 个字节。C程序中的变量在内存中占有一个内存单元,每个内存单元由若干个字节组成,每个字节都有自己的编号(即地址),而一个变量的地址是指该变量的内存单元中第一个字节的编号。C 语言允许在程序中使用变量的地址,并可以通过地址运算符“&”得到变量的地址,例如:

  1. float x;  
  2. int a[10]; 

通过&x 和数组名a,就可以获得变量x 和数组变量a的地址。

C 语言通过直接访问和间接访问两种方式来读取内存中的变量。直接访问是通过变量名或地址访问变量的存储区,例如:

  1. scanf ("%d", &x );  
  2. x=sqrt(x);  
  3. printf ("%d", x ); 

间接访问是将一个变量的地址存放在另一个变量中。如图2.10 所示,变量x 的存储单元地址为1010,将变量x 的地址值存放在变量p中,访问x 时先找到p,再由p中存放的地址值找到x。

 
图2.10 变量的间接访问

知道了数据在内存中的存储和读取方式后,指针的概念就不难理解了。一个变量的指针就是该变量的地址(指针就是地址),如变量x的指针即为1010。

指针变量就是指存放某个变量的地址的变量,它用来指向另一个变量,如图2.10 所示中的p。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.9.3 数组与指针 下一篇1.4.4 在虚拟机下安装Linux(2)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: