c语言 ●第10章 指针-1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一.存储单元的地址和内容   在程序中定义一个变量,在编译时就要给该变量分配一定的内存单元。变量的类型不同,所分配的内存单元的长度是不同的。 整型:2字节 长整型:4字节 所占内存单元 单精度实型:4字节 双精度实型:8字节 字符型:1字节 内存(数据区) 二.对内存单位的访问  存数—写     取数—读 对内存单位的访问,是通过地址进行的。 如: printf(“%d”,i);  读 再如:scanf(“%d”,i); 写 直接访问:按变量的地址直接读写变量的值。 如:k=i+j; (1)从2000开始的内存单元中取出i的值3. (2)从2002开始的内存单元中取出j的值6. (3)相加后,送入2004开始的内存单元。 间接访问:将变量a的地址存入另一变量b中,访问a时,先找b,取出a的地址,再按此地址访问a。 比喻:   a抽屉 直接访问:      a钥匙             间接访问:a抽屉   b抽屉                    b钥匙 如:i_pointer=i; 将i的地址存入变量i_pointer中。访问i时,先通过i_pointer的地址3010,找到i_pointer,从中取出变量i的地址2000,再去访问i。 三.指针和指针变量: 1.指针:一个变量的地址,叫该变量的指针。   如,地址2000叫i的指针。3010是i-pointer的指针,即指针变量的指针。 2.指针变量:用来存放另一变量地址的变量。指针变量的值是另一个变量的地址。   如,i_pointer是一个指针变量。它的值是变量i的地址或指针。 一.指针变量的定义   指针变量和其它类型的变量一样,必须先定义后使用。 格式:类型标识符 *指针变量名 功能:定义指针变量的类型。 如:int i,j;   int *pointer_1,*pointer_2;   pointer_1=i;   pointer_2=j; 如:float a; char c; float *pointer_3; char *pointer_4; pointer_3=a; pointer_4=c; 三.指针变量作函数参数   整型           一般变量 实型        函数参数  字符型            数组名或数组元素      指针变量 void cl(int a[ ]) /* 选大元和小元*/ { int t,*p,*min,*max; p=min=max=a; for (p=a+1;pa+N;p++) { if (*p*min) min=p; if (*p*max) max=p; } t=a[0];a[0]=*min;*min=t; t=a[N-1];a[N-1]=*max;*max=t; } void sc(int *p) /* 输出 */ { int i; printf(\nThe result:\n); for (i=0;iN;i++,p++) printf(%5d,*p); printf(\n); } 习题10.6 写一个函数,求一个字符串的长度。在主函数中输入字符串,并输出长度。 分析: 输入一个字符串str[N] (用gets()) main() 调用函数l=length(str) 输出字符串的长度l int length(int *p) /* 实参用数组名,形参用指针变量 */ { int j=0; 当*p不等于尾符时 { j++; p++; } 返回j; } #include stdio.h #define N 100 int length(c

文档评论(0)

飞扬的岁月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档