量初始化后,该指针就指向了具体的变量,对变量的访问就可以通过指针变量完成。
9.2 指针运算
当一个指针指向一个变量时,程序就可以利用这个指针间接引用这个变量,间接引用的格式为:
其中,*是间接引用运算符,为单目运算符,优先级与++、--相同,他可以访问指针变量所指向的变量的值。
9.3 指针变量作为函数的参数
指针变量作为函数的实参时,将变量的地址传递到行参中,是一种地址传递方式。在函数体中改变行参时,不能够改变实参指针变量的值,但是可以改变该指针变量所指变量的值。
// int main { int a=10;//申请了4个字节的空间 //print("%d\n",&a); int*p=&a // int告诉我们p是一个什么样的指针变量 *告诉我们p是一个指针变量 p是一个变量-指针变量 //print("%d\n",p); *p=20 //*-解引用操作符/间接访问操作符 *p 通过*p找到a print("a=%d\n",a); return 0; } |
9.4 指针结构体的指针变量
一个结构体类型变量在内存中占有一段连续存储单元,这段内存单元的首地址就是该结构体变量的指针。可以用一个指针变量指向一个结构体变量,或指向结构数组中的元素。这样的指针变量称为指向结构体的的指针变量。
指向结构体的指针变量的定义,与普通指针变量的的定义完全一样,其一般形式:
结构体变量的首地址就是该结构体变量的指针。用地址运算符&就可获得结构体变量的指针。将一个指针变量指向结构体变量的一般形式为:
就使指针变量指向了结构体变量,从而对结构体成员的访问就可通过指针变量来实现。
9.5 结构体变量成员的访问形
结构体变量名.成员名 (*结构体指针变量名).成员名 结构体指针变量名->成员名 |
9.6 指向结构体数组的指针变量
类似于用指向结构体变量的指针,间接访问结构体成员一样,也可以用指向结构体数组及其元素的指针来处理结构体数组。
注意: strcpy-string copy-字符号拷贝-库函数-string.h。
9.7 指向结构体的指针变量作为函数参数
类似于普通指针变量作为函数参数一样,用指向结构体的指针变量作实参时,属于“地址传递”方式 。
|