《c语言指针教程》.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序说明: (1) array=(int *)malloc( sizeof(int) * num );语句──malloc()函数和sizeof运算符 1)库函数malloc() ·用法:void *malloc(unsigned size) ·功能:在内存的动态存储区分配1个长度为size的连续空间。 ·返回值:申请成功,则返回新分配内存块的起始地址;否则,返回NULL。 ·函数原型:alloc.h,stdlib.h。 malloc()函数的返回值是一个无类型指针,其特点是可以指向任何类型的数据。但在实际使用malloc()函数时,必须将其返回值强制转换成被赋值指针变量的数据类型,以免出错。 2)运算符sizeof ·格式:sizeof(变量名/类型名) ·功能:求变量/类型占用的内存字节数(正整数)。例如,在IBM-PC机上,sizeof(int)=2。 思考题:在该语句中,使用sizeof(int)求出1个int型数据占用的内存字节数,而不是使用常量“2”,为什么? (2) scanf(“%d”, array[i]);语句和printf(“%d,”, array[i]);语句 将指向数组的指针变量当作数组名使用,所以就必须按引用数组元素的语法规则来使用。 (3) printf(“\b ”);语句 “\b” 在该语句中的作用是,使光标定位到最后一个数据后的分隔符“,”上,然后再输出一个空格,以达到删除之目的。 (4) free(array);语句──库函数free() ·用法:void free(void *ptr) ·功能:释放由ptr指向的内存块(ptr是调用malloc() 函数的返回值)。 ·返回值:无。 ·函数原型:stdlib.h,alloc.h。 原则上,使用malloc()函数申请的内存块,操作结束后,应及时使用free()函数予以释放。尤其是循环使用malloc()函数时,如果不及时释放不再使用的内存块,很可能很快就耗尽系统的内存资源,从而导致程序无法继续运行。 [Return] 9.4 字符串的指针和指向字符串的指针变量 字符串在内存中的起始地址称为字符串的指针,可以定义一个字符指针变量指向一个字符串。 9.4.1 字符串的表示与引用 在C语言中,既可以用字符数组表示字符串,也可用字符指针变量来表示;引用时,既可以逐个字符引用,也可以整体引用。 1.逐个引用 [案例9.8] 使用字符指针变量表示和引用字符串。 /*案例代码文件名:AL9_8.C*/ main() { char *string=”I love Beijing.”; for(; *string!=’\0’; string++) printf(“%c”, *string); printf(“\n”); } [程序演示] 程序运行结果: I love Beijing. 程序说明:char *string=I love Beijing.;语句 定义并初始化字符指针变量string:用串常量“I love Beijing.”的地址(由系统自动开辟、存储串常量的内存块的首地址)给string赋初值。 该语句也可分成如下所示的两条语句: char *string; string=I love Beijing.; 注意:字符指针变量string中,仅存储串常量的地址,而串常量的内容(即字符串本身),是存储在由系统自动开辟的内存块中,并在串尾添加一个结束标志’\0’。 2.整体引用 [案例9.9] 采取整体引用的办法,改写[案例9.8]。 /*案例代码文件名:AL9_9.C*/ /*程序功能:使用字符指针变量表示和引用字符串*/ main() { char *string=”I love Beijing.”; printf(“%s\n”,string); } [程序演示] 程序说明:printf(%s\n,string);语句 通过指向字符串的指针变量string,整体引用它所指向的字符串的原理:系统首先输出string指向的第一个字符,然后使string自动加1,使之指向下一个字符;重复上述过程,直至遇到字符串结束标志。 注意:其它类型的数组,是不能用数组名来一次性输出它的全部元素的,只能逐个元素输出。 例如: int array[10]={……}; ...... printf(%d\n,array); /*这种用法是非法的*/ ...... 3.字符指针变量与字符数组之比较 虽然用字符指针变量和字符数组都能实现字符串的存储和处理,但二者是有区别的,不能混为一谈。 (1)存储内

文档评论(0)

tangtianxu1 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档