1 / 183
文档名称:

实用c语言程序设计教程指针及应用.ppt

格式:ppt   页数:183
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实用c语言程序设计教程指针及应用.ppt

上传人:w8888u 2012/3/9 文件大小:0 KB

下载得到文件列表

实用c语言程序设计教程指针及应用.ppt

文档介绍

文档介绍:实用C语言程序设计教程
Visual C++
模块5 指针及应用
任务1 地址与指针
学习目标
了解指针与地址的概念、掌握指针变量的定义、初始化及指针的运算。
案例一指针与地址

程序在计算机中运行的时候,所有数据都存放在内存中。而内存以字节为存储单元存放数据,不同的数据类型所占用的单元数不等。如整型占用2个单元,字符占用1个单元等。请编程验证计算机是如何存取需要的数据的。

2. 编程分析
为了正确访问内存单元,计算机系统为每个内存单元进行编号,然后根据一个内存单元的编号准确地找到该内存单元。内存单元的编号也叫做地址。既然根据内存单元的地址就可以找到所需的内存单元,因此通常也把这个地址称为指针。
要解决上面的问题,最好的办法是定义一组连续存储的变量,然后列出各变量的存储地址和值,从而得到它们的存储空间。
程序描述如下:
main( )
{
定义字符型变量charA
定义整型变量intB
定义长整型变量longC,longD
输出charA的地址和值
输出intB的地址和值
输出longC、longD的地址和值
}
3. 编写源程序
/* */
#include <>
main( )
{
char charA='A';
int intB=1;
long longC=2, longD =4;
printf("charA的地址:%X ,",& charA); /*以十六进制形式输出charA的地址*/
printf("charA的值:%c\n", charA);
printf("intB的地址:%X ,",& intB);
printf("intB的值:%d\n", intB);
printf("longC的地址:%X ,",& longC);
printf("longC的值:%d\n",longC);
printf("longD的地址:%X ,",& longD);
printf("longD的值:%d\n", longD);
}
4. 运行结果如图5-1所示。

图5-1案例1运行结果

(1)系统根据变量的数据类型,分别为charA、intB、longC和longD分配1个、2个、4个和4个字节的存储单元,此时变量所占存储单元的第一个字节的地址就是该变量的地址。在图5-1中,变量charA的地址是12FF7C,intB的地址是12FF78,longC的地址是12FF74,longD的地址是12FF70。图5-2给出了案例1一次运行的内存存储示意。
图5-2 案例1内存存储示意图