- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设件16--善于利用指针1剖析
C 程序设计 授课教师 孙向群 fd_jsj@163.com #include stdio.h int main() {void swap(int *p1,int *p2); int a,b; int*pointer_1,*pointer_2; printf(please enter a and b:); scanf(“%d,%d”,a,b); pointer_1=a; pointer_2=b; if (ab) swap(pointer_1,pointer_2); printf(“max=%d,min=%d\n”,a,b); return 0; } a b pointer_1 5 9 a b pointer_2 8.2.4 指针变量作为函数参数 void swap(int *p1,int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; } a b pointer_1 5 9 a b pointer_2 p1 a p2 b 9 5 8.2.4 指针变量作为函数参数 void swap(int *p1,int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; } void swap(int *p1,int *p2) { int *temp; *temp=*p1; *p1=*p2; *p2=*temp; } 错!!! 无确定的指向 8.2.4 指针变量作为函数参数 善于利用指针 专业名称:物流工程 第8章 善于利用指针 8.1 指针是什么 8.2 指针变量 8.3 通过指针引用数组 8.4 通过指针引用字符串 8.5 指向函数的指针 8.6 返回指针值的函数 8.7 指针数组和多重指针 8.8 动态内存分配与指向它的指针变量 8.9 有关指针的小结 8.1 指針是什么 如果在程序中定义了一个变量,在对程序进行编译时,系统就会给该变量分配内存单元 编译系统根据程序中定义的变量类型,分配一定长度的空间 例如,VC++为整型变量分配4个字节,对单精度浮点型变量分配4个字节,对字符型变量分配1个字节 内存区的每一个字节有一个编号,这就是“地址”,它相当于旅馆中的房间号。 在地址所标识的内存单元中存放数据,这相当于旅馆房间中居住的旅客一样。 由于通过地址能找到所需的变量单元,我们可以说,地址指向该变量单元。 将地址形象化地称为“指针” 8.1 指針是什么 务必弄清楚存储单元的地址和存储单元的内容这两个概念的区别 例如: 8.1 指針是什么 int i=3,j=6,k; printf(“%d”,i); 通过变量名i 找到i的地址2000,从而从存储单元读取3 int i=3,j=6,k; k=i+j; 从这里取3 将9送到这里 从这里取6 直接存取 int i=3,j=6,k; 定义特殊变量i_pointer 将i的地址存到这里 间接存取 i_pointer=i; *i_pointer=50; 50 i 2000 3 2000 i_pointer *i_pointer 2000 3 直接存取 间接存取 8.1 指針是什么 为了表示将数值3送到变量中,可以有两种表达方法: (1) 将3直接送到变量i所标识的单元中,例如:i=3; (2) 将3送到变量i_pointer所指向的单元(即变量i的存储单元),例如:*i_pointer=3; 其中*i_pointer表示i_pointer指向的对象 8.1 指針是什么 指向就是通过地址来体现的 假设i_pointer中的值是变量i的地址(2000),这样就在i_pointer和变量i之间建立起一种联系,即通过i_pointer能知道i的地址,从而找到变量i的内存单元 8.1 指針是什么 由于通过地址能找到所需的变量单元,因此说,地址指向该变量单元 将地址形象化地称为“指针”。意思是通过它能找到以它为地址的内存单元 8.1 指針是什么 一个变量的地址称为该变量的“指针” 例如,地址2000是变量i的指针 如果有一个变量专门用来存放另一变量的地址(即指针),则它称为“指针变量” i_pointer就是一个指针变量。指针变量就是地址变量,用来存放地址的变量,指針变量的值是地址(即指针) 8.1 指針是什么 “指针”和“指针变量”是不同的概念 可以说变量i的指针是2000,而不能说i的指针变量是2000 指针是一个地址,而指针变量是存放地址的变量 8.1 指針是什么 8.2 指针变量 8.2.1使用指针变量的例子 8.2.2 怎样定义
文档评论(0)