- 3
- 0
- 约5.72千字
- 约 70页
- 2025-10-13 发布于北京
- 举报
教学实践部计算机中心
胡晓丽;指针在C语言里应用极为广泛,是C语言的灵魂
使程序简洁、紧凑、高效
函数调用时批量参数的传递
内存的动态分配
内存地址的直接处理
复杂数据结构的简洁表达等许多其它数据类型难以实现的复杂操作;掌握指针的概念、指针变量定义格式和引用
掌握指针的运算方法
指针应用举例;指针就是内存中的变量的地址;内存单元的编号:计算机内存中,每一个字节的存储单元都有一个编号(亦称为内存地址)
在VC中,内存单元的编号是一个8位的十六进制数(表示32位二进制数,VC是32位编译系统)
如:0013FF7C;变量:实质是代表了“内存中的某个存储单元”。;变量的地址:表示变量在内存中的位置,其值是该变量在内存中所占存储单元的首字节的编号;;
a在内存中占4个字节,但a的值是4个字节中首个字节的编号
运算符:取地址,如a的值为变量a的地址
变量地址的输出可以用格式字符串“%p”;我们在程序中只需要指出变量名,无需知道每个变量
在内存中的具体地址,每个变量与具体地址的联系是
由C编译系统来完成的。对变量的存取操作就是对某
个存储单元进行操作。这种直接按变量的地址存取变
量值的方式称为“直接存取”。;
;指针:也是一种变量,这种变量是用来存放内存地址的。;指针是字节的编号,即地址。
指针也是要存储的,因此每个指针也需要一个变量来存储它。这个变量称为指针变量。指针变量的值是某一定义好的变量的地址。;a;定义形式如下:
数据类型*指针变量名;
如:int*p1,num;
表示的意思为:
定义了一个指针变量p1,它指向的是一个整型数据。或者说,这时候p1中存储的是一个整型变量的地址。
注意:指针变量定义了之后,需要给它赋一个确定的变量的地址,否则,就会出现严重的系统错误。;#includestdio.h
;例:int**p,*s,k=20;
s=k;
p=s;;例:指针的概念;指针的移动;指针变量只能进行逻辑运算和相减的算术运算。
不是指向同一数组的指针变量运算是无意义的。
指针变量的值加1或减1,并不是地址加1中减1,而是加上或减去???变量在内存中所占的字节数,该字节数由指针的基类型决定。;11;指针的比较;指针可以作为参数在主调函数和被调用函数之间
传递数据,通过指针可以在被调用函数中地调用
中的变量进行引用,这也就使得通过形参改变对
应实参的值有了可能,利用此形式就可以把两个
或两个以上的数据从被调用的函数返回到调用函数。;例将数从大到小输出;;swap(intx,inty)
{inttemp;
temp=x;
x=y;
y=temp;
}
main()
{inta,b;
scanf(%d,%d,a,b);
if(ab)swap(a,b);
printf(\n%d,%d\n,a,b);
};swap(int*p1,int*p2)
{intp;
p=*p1;
*p1=*p2;
*p2=p;
}
main()
{inta,b;
int*pointer_1,*pointer_2;
scanf(%d,%d,a,b);
pointer_1=a;pointer_2=b;
if(ab)swap(pointer_1,pointer_2);
printf(\n%d,%d\n,a,b);
}; 例编写程序,定义一个含有15个元素的数组,并编写函数分别完成以下操作:
(1)调用C库函数中的随机函数给所有元素赋以0-49之间的随机数;
(2)输出数组元素中的值;
(3)按顺序对每隔三个数求一个和数,并传回主函数;
(4)最后输出所有求出的和值。;调用随机函数的方法如下:包含头文件stdlib.h
n=rand()%x;
n将得到一个在0-(x-1)之间的随机数。;分析:
(1)由于要每隔3个数求一个和,15个数要求出5个和,所以主函数中要定义一个数组来存放5个和数。
(2)两次输出元素的值,虽然输出对象不同,但是数组的类型相同,可调用一个函数来完成,只要指定不同的数组名,不同的输出个数即可。
;#includestdio.h
#includestdlib.h
#defineSIZE15
#defineN3
voidgetrand(int*,int);
voidgetave(int*,int*,int);
voidprintarr(int*,int);;voidprintarr(i
您可能关注的文档
最近下载
- 行者讲课脉法下篇.doc VIP
- (人教版)数学一年级上册寒假应用题“天天练”作业设计,含30份题组,附参考答案.doc
- 多参数监护仪技术参数和要求.doc VIP
- HL德國創新機能家電烤箱HL-840用户手册.pdf
- (高清!)2025年3月29日河北省事业单位联考C类《职测》真题及答案.pdf VIP
- ZORRO遥控器中文说明书.pdf
- 多参数监护仪技术参数.doc VIP
- 05R417-1 室内管道支吊架建筑工程图集 高清.docx VIP
- 2025届安徽省江南十校高三下学期第一次联考(一模)数学试题含答案.pdf VIP
- 三年级上册数学思维训练题30题,拓展孩子思维能力201123.pdf VIP
原创力文档

文档评论(0)