通过前面的分析,我们讲解了指针变量的定义和使用,下面通过几个例子,加深对该知识的理解。
(1) 访问指针变量所指向的变量
通过“指针取值运算符*”可以对指针变量进行降级,转换成指针变量所指向的变量。程序测试例子如下:
程序运行结果如下:
可以看到,指针变量pa指向变量a,然后,使用指针取值运算符*,可以对指针变量pa进行降级,转换为指针变量pa所指向的变量a。
例如,*pa = 'A'; 就是对指针变量pa所指向变量a进行操作,给其赋值字符'A',最终,我们输出变量a的时候,可以看到变量a的数值就是字符'A'。
(2) 获取指针变量的值
指针变量存放的就是一个变量的地址,例如:
char a;
char* pa = &a; //指针变量pa指向变量a;
那么,指针变量pa的值就是变量a的地址。那么,可以把指针变量pa的值赋给其他char类型的指针变量,那么,其他指针变量也指向变量a,也可以通过“指针取值运算符*”转换为变量a。程序测试例子如下:
程序运行的输出结果如下:
可以看到变量addr2存放指针变量pa的值,就是变量a的地址值。所以,输出与变量
addr1的值一样。可以把指针变量pa的值赋给指针变量pb;那么,指针变量pb存放的是变量a的地址,所以,指针变量pb指向变量a。
那么,*pb表达式就是对指针变量pb降级,转换为表示指针变量pb指向的变量a。所以,*pb = 'B'; 语句就是给指针变量pb指向变量a赋值。
韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip
版权归原作者 Linux编程学堂 所有, 如有侵权,请联系我们删除。