- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计(第四)谭浩强指针
(3) free函数 函数原型: void free(void *p); 函数功能:释放由p指向的内存区,使这部分内存区能被其他变量使用。p是最近一次调用calloc或malloc函数时返回的值。 free函数无返回值. (4) realloc()函数 原型: void * realloc(void *p, unsigned int size) 功能:重新分配动态空间的大小(事先已通过malloc或calloc函数获得动态空间)。 将p所指向的动态空间的大小改变为size,p值不变。如果重分配不成功,则返回NULL 例: realloc(p, 50); malloc()和calloc()函数的差别 #include stdlib.h #include stdio.h void main() { int *pm, *pc, i; pm=(int *)malloc(sizeof(int)*5); //用malloc函数分配5个int变量大小的内存单元 pc=(int *)calloc(5, sizeof(int));//用calloc函数分配5个int变量大小的内存单元 for(i=0; i5; i++) printf(%d\t, *pm); printf(\n); for(i=0; i5; i++) printf(%d\t, *pc); } void *malloc(size ); //参数为总空间大小 void *calloc( n, size); //参数为内存单元个数和每个内存单元的大小 calloc函数较适合用于给数组元素分配内存空间 malloc函数不会初始化分配的内存空间; calloc函数会将分配的内存空间初始化为0; malloc()和calloc()函数的差别 动态分配函数示例 #includestring.h #include stdio.h #include stdlib.h int main(void) { char *str; /* 分配内存空间 */ str = (char*) calloc(10, sizeof(char)); /* 写入一个字符串*/ puts(请输入一个字符串:); gets(str); /*显示变量内容*/ printf(输入的字符串是 %s\n, str); free(str); /* 释放空间 */ return 0; } 动态分配函数示例 #includestring.h #include stdio.h #include stdlib.h void main(void) { char *str; /* 分配内存空间 */ str = (char*) calloc(10, sizeof(char)); /* 将hello写入*/ puts( 请输入一个字符串:); gets(str); if(strlen(str)=10); //{ realloc(str, strlen(str)+1); //puts(请再输一次:); //gets(str); } printf( 输入的字符串是: %s\n, str); free( str ); /* 释放空间 */ } 8.8有关指针的数据类型和指针运算的小结 10.8.1有关指针的数据类型的小结 定义 含义 int i; 定义整型变量i int *p; p为指向整型数据的指针变量 int a[n]; 定义整型数组a,它有n个元素 int *p[n]; 定义指针数组p,它由n个指向整型数据的指针元素组成 int (*p)[n]; p为指向含n个元素的一维数组的指针变量 int f(); f为带回整型函数值的函数 int * p(); p为带回一个指针的函数,该指针指向整型数据 int (*p)(); p为指向函数的指针,该函数返回一个整型值 int **p; p是一个指针变量,它指向一个指向整型数据的指针变量 8.8.2 指针运算小结 1. 指针变量加(减)一个整数,如: p++、p - -、p+i、p-i、p+=i、p-=i 是将指针变量的原值与它所跨过的
您可能关注的文档
最近下载
- 初中七年级上册数学每日一练小纸条.pdf VIP
- 高考生物遗传简单题100道【附参考答案及详细解析过程】.pdf VIP
- 《高铁乘务》专业人才培养方案.docx VIP
- HES A1302-14 焊接螺栓材料选用标准--chs.pdf VIP
- 生日主题-精美红色员工生日派对PPT模板.pptx VIP
- 《黄河水滴灌泥沙逐级处理技术规程》DB15T 4180-2025(内蒙标准).pdf
- 《建设工程工程量清单计价规范》2024版与2013版逐条对比.pdf VIP
- 2024新人教版英语七年级上单词表(小学部分)(英译汉).docx VIP
- 空气源热泵冷暖空调、热水项目施工方案.docx VIP
- 大学生网购电子产品影响因素研究.docx VIP
文档评论(0)