黑马程序员技术交流社区

标题: C语言指针变量 [打印本页]

作者: chenhuan_ccit    时间: 2014-11-1 21:13
标题: C语言指针变量
1.地址及取地址运算符
   1.每一个存储单元都有一个编号,这个编号称为存储单元的地址。
   2.如果在程序中定义了一个变量,系统会根据变量的类型为变量分配相应字节的存储空间,用于存放数据,存放的数据称为内存单元的内 容。        而系统为变量分配的存储空间的首个存储单元的地址称为变量的地址。
   3.获取变量的地址: &变量名“&”是单目运算,优先级别是第2级,结合方向为右结合。
   4.通过存储空间的地址,可以访问存储空间,从而获得存储空间的内容。因此,我们也把地址就形象地称为指针。
2.指针变量存放地址的变量称为指针变量,指针变量的值为地址。
3.指针变量的指向如果指针变量p中存放的是变量a的地址,则称指针变量p指向变量a。这样,对变量a的访问就有两种方式,一种是直接通过变量a来访问;另一种是通过指向变量a的指针变量p来访问。
int *pa;/*pa是一个指针变量,它的值应该是某个整型变量的地址*/
float *pb; /*pb是基类型为float的指针变量*/
char *pc;/*pc是基类型为char的指针变量*/
定义指针变量的一般形式为:
[存储类别] 类型标识符  *变量名;
说明:
1. *表示这是一个指针变量,不可省略;
2.变量名即为定义的指针变量名;
3.类型标识符表示指针变量所指向的变量的数据类型,定义指针时必须指明基类型。
1. *:指向运算符(或称“间接访问” 运算符)
使用格式: *指针变量
其中:*为指向运算符,优先级别和结合方向与&相同。
作用:求运算符后面的指针变量所指向的变量的值,即指针变量所指向的存储空间的内容。
说明:运算符“*”后面必须是指针变量,而不能是普通变量。
int a=3,b=2,*p;
p=&a;
a=a+b;
printf("%d,%d\n",a,*p);//*p是p指向的变量
输出结果为:5,5
函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个地址值传递给被调函数中的形参指针变量,即在函数调用时确定形参指针的指向。



作者: chri_liu    时间: 2014-11-1 21:17
挺好的~
作者: 易拉罐    时间: 2014-11-1 21:57
顺便也学习一下





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2