欢迎光临散文网 会员登陆 & 注册

9.3.2指向char和int的指针_实例1

2020-08-17 11:08 作者:韦东山  | 我要投稿


视频教程👇 

韦东山升级版全系列嵌入式免费视频_快速入门篇

实例1

步骤一

我们在上面函数的基础上,写一个函数test1() 

main.c 

我们在test1()函数中定义了一个整型变量ia,定义了一个指向整型的指针变量pi,定义了一个指向字符型的指针变量pc。然后打印出这些变量的地址。


编译

gcc -m32 -o pointer_test pointer_test.c


运行:

./pointer_test


结果: 

在32位的系统中int类型变量在内存中占用4个字节,指针型变量在内存中占用4个字节如图:

Chapter9 lesson3 005.jpg

步骤二

在test1()的函数中对定义的变量进行赋值,然后把赋值的结果打印出来。 

编译:

gcc -m32 -o pointer_test pointer_test.c


运行:

./pointer_test


结果: 

从结果可以看出来,变量pi和pc的值都等于变量ia的地址。

步骤三

我们使用指针并且对其进行取值,然后移动指针,在test1中添加如下代码,完成所述要求

/*第三步:使用指针:1)取值  2)移动指针*/

编译

gcc -m32 -o pointer_test pointer_test.c


运行:

./pointer_test


结果:

 由于pi指向了ia,所以*pi的值为0x12345678。由于pc也指向了ia,但是由于pc是字符型指针变量,一次只能访问一个字节,需要四次才能访问完。如图所示:

Chapter9 lesson3 002.jpg

结论:

1. 指针变量所存储的内容是所指向的变量在内存中的起始地址。

2. &变量:

目的:获得变量在内存中的地址; 返回:变量在内存中起始地址; 


视频教程👇 

韦东山升级版全系列嵌入式免费视频_快速入门篇


9.3.2指向char和int的指针_实例1的评论 (共 条)

分享到微博请遵守国家法律