当前位置:系统管理

基于Linux操作系统上的C编程与内核导读

来源:  作者:本站
char *newstring; int counter,N; N=strlen(inputstring); /*N为字符串长度*/ /*申请N1个字节的内存空间,若出错则报错并退出*/ if(!(newstring=malloc(N 1))) { printf(“ERROR ALLOCATING MEMORY!n”); exit(255); } /*将原字符串拷贝到新申请的内存块*/ strcpy(newstring,inputstring); for(counter=0;counter { if(newstring[counter]>=97&&newstring[counter]<=122) newstring[counter]-=32; /*将小写字母转换为大写字母*/ } return newstring; }  结果分析:

  在这个程序中,由于所使用的是动态内存,因此程序可以将子函数中分配的内存空间的指针返回到主函数中。同时,由于使用了动态内存,使得子函数可以灵活地分配所需要的内存空间(注:之所以要多申请一个字节的空间,是因为strlen在求字符串长度时,不包括结尾的“”标志,但拷贝字符串时需要为此字符串结束标志留出空间)。此程序的运行结果为:EVERYBODY

  注意:在此程序的子函数中之所以可以使用N=strlen(inputstring),是因为此时inputstring是一个确定的字符串。而上一节中的4.1程序,newstring是一个未初始化的字符数组,故不能用strlen来求其长度。



上一页 1 2下一页
相关文章
热点关注
随机推荐
栏目列表

关于本站 | 会员服务 | 隐私保护 | 法律声明 | 站点地图 | RSS订阅 | 百科

免责声明:凡本站注明来源为xx所属媒体的作品,均转载自其它媒体转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责