例61程序渡示 a 16 1- icrosoft Visual C++- [161. cppI B File Edit View Insert Project Build Tools Window Help [Globals [All global members main 多幽! N“D:\C语言程序设计L6111611 Debug1161.exe 6mm,.+m2 /*定 单击运行 nch=p,米pch=p ess any key to continue 取变 取 取变 弹出运行 结果窗口 日C|ass↓ A 输入源程序 1101.exe-0 error(s),2 warning(s) 4 MBuild/ Debug Find in Files〈」 返回例题 Ln 1. col 2 REC ICOL 返回本节目录
[例6.1]程序演示 单击运行 输入源程序 弹出运行 结果窗口 返回例题 返回本节目录
611C程序实例(2) a2.C程序实例2 【例6.2】输入2个整数,按升序(从小到大排序)输出。 /*程序名为5_2cpp* 程 程序功能:使用指针变量求解2个整数的升序输出* 序 i int numl, num2 int*numl _ p=&numl, *num2_p=&num2, *pointer printf("Input the first number: 2) scanf(%,, numl _p) printf(" Input the second number: ) scanf( %od, num2_p) printf( numl=%d, num2=%odn, numl, num2); f* numI p>*num2p)/如果num>num2,则交换指针* pointer= numI p; numI_ p=num2_p; num2_p=pointer; j 60 printf(" min=%od, max%d\n*numl _p, *num2_P); 程序运行情况 Input the first number: 2<CR> Input the second number: 6<CR> 环 num1=9. num2=6 境 min=6 max=9 返回本节目录
6.1.1 C程序实例(2) 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 2.C程序实例2 【例6.2】输入2个整数,按升序(从小到大排序)输出。 /*程序名为l5_2.cpp */ /*程序功能:使用指针变量求解2个整数的升序输出*/ main() { int num1,num2; int *num1_p=&num1, *num2_p=&num2, *pointer; printf(“Input the first number: ”); scanf(“%d”,num1_p); printf(“Input the second number: ”); scanf(“%d”,num2_p); printf(“num1=%d, num2=%d\n”, num1, num2); if( *num1_p > *num2_p ) /*如果num1>num2,则交换指针*/ { pointer= num1_p; num1_p= num2_p; num2_p=pointer; } printf(“min=%d, max=%d\n”, *num1_p, *num2_p); } 程序运行情况: Input the first number:9<CR> Input the second number:6<CR> num1=9, num2=6 min=6, max=9 返回本节目录 程序演示
「例62程序渡示 162-夏 ft Y File Edit View Insert Project Build Tools Window Help 自a副原电启 [Globals) (All global memb ain 延“D:VC语言程序设计162162ebug162.exe t the first numb 单击运行 Input the second number: 6 =6 in=6. max=9 Press any key to continue ber. mber 弹出运行 结果窗口 日C , num1 162.exe -g error(s),1 warning(s) 输入源程序 KDN Build/ Debug X Find in Files ill Ln 1. Col 19 REC COL OVR READ 返回例题 返回本节目录
[例6.2]程序演示 单击运行 输入源程序 弹出运行 结果窗口 返回例题 返回本节目录
62指针 据言程设计 言6.2.1地址和指针的概念 62.2指向变量的指针变量 60
《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本章目录 6.2.2 指向变量的指针变量 6.2.1 地址和指针的概念 6.2 指针
62.1地址和指针的概念 1内存地址一内存中存储单元的编号 (1)计算机硬件系统的内存储器中,拥有大量的存储单元(每个存储单元容量为1字节)。 为了方便管理,必须为每一个存储单元编号,这个编号就是存储单元的“地址”。每个存储单 程 元都有一个惟一的地址。 序 (2)在地址所标识的存储单元中存放数据。 注意:内存单元的地址与内存单元中的数据是两个完全不同的概念。 计2变量地址一系统分配给变量的内存单元的起始地址 假设有这样一个程序: i int num; scant(%od",&num) 60 printf("num=%dIn", num); C编译程序编译到该变量定义语句时,将变量num登录到“符号表”中。符号表的关键属性有 两个:一是“标识符名(id)”,二是该标识符在内存空间中的“地址(addr)”。 环 为描述方便,假设系统分配给变量mum的2字节存储单元为3000和3001,则起始」 境 变量num在内存中的地址。 返回本节目录
6.2.1 地址和指针的概念 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 1.内存地址──内存中存储单元的编号 2.变量地址──系统分配给变量的内存单元的起始地址 (1)计算机硬件系统的内存储器中,拥有大量的存储单元(每个存储单元容量为1字节)。 为了方便管理,必须为每一个存储单元编号,这个编号就是存储单元的“地址”。每个存储单 元都有一个惟一的地址。 (2)在地址所标识的存储单元中存放数据。 注意:内存单元的地址与内存单元中的数据是两个完全不同的概念。 假设有这样一个程序: main() { int num; scanf("%d",&num); printf("num=%d\n", num); } C编译程序编译到该变量定义语句时,将变量num 登录到“符号表”中。符号表的关键属性有 两个:一是“标识符名(id)”,二是该标识符在内存空间中的“地址(addr)”。 为描述方便,假设系统分配给变量num的2字节存储单元为3000 和3001,则起始地址3000就是 变量num在内存中的地址。 返回本节目录