- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言链表课件
5.6 动态内存管理函数 相关函数的声明在头文件stdlib.h中 malloc(size); //size表示内存字节数 返回的是分配的地址。 将该地址赋值给指针变量时,通常要做强制类型转换 free(pointer); //pointer是指向malloc分配的内存区的指针变量 [例5.14]基于指针数组的动态内存分配和释放。 #define N 3 #include stdio.h #includestdlib.h void release(int **p) {int i,j; for (i=0; iN; i++){ printf(\n); for (j=0; ji+1; j++) printf(\t%d, p[i][j]); free(p[i]); //释放内存 putchar(\n); } } void main() {int i, j; int *p[N]; //定义长度3的指针数组 for (i=0; iN; i++){ p[i]=(int *)malloc((i+1)*sizeof(int)); //让每个指针变量指向动态分配的内存区 for (j=0; ji+1; j++) p[i][j]=j+1; //给分配的内存区赋值 } release(p); //回收内存函数 用一组地址任意的存储单元存放线性表中的数据元素。 结点(数据元素) = 元素(数据元素的映象) + 指针(指示后继元素存储位置) 链表:以“结点的序列”表示线性表 元素(data) 指针(next) 结点 链表 使用内存分配函数,动态申请和释放堆中的存储空间。 P124 struct node{//定义节点类型 int data; node * next; }; void main( ) { node * h; h=CreList( ); PrintList(h); } node *CreList() {node A_node; node *head; //首地址 node* s; //当前结点 head = NULL; printf(\n Please input the number ( 0 the end):\t); scanf(%d,A_node.data); while( A_node.data!=0){ s=(node*)malloc(sizeof(node)); s-data=A_node.data; s-next=head; head=s; printf(\n Please input the number ( 0 the end):\t); scanf(%d,A_node.data); } return head; } struct node{ int data; node * next; }; void PrintList(node *head) { node *p; p=head; while(p!=NULL){ printf(data is % d\n, p-data); p=p-next; } } L 2 8 3 7 5 ^ P (1) L=P-link; R (2) R-data=P-data; 2 8 3 7 5 ^ P R 对以下单链表分别执行下列各程序段,并画出结果示意图。 L P 2 8 3 7 5 ^ 5 (3) R-data=P-link-data; 2 8 3 7 5 ^ P R (4) P-link-link-link-data=P-data; 2 8 3 7 5 ^ P R L 2 8 3 7 5 ^ P R P-link 7 P-link-link-link 5 (5) T=P; while( T!=NULL ) { T-data=(T-data)*2; T=T-link; } L S 2 ^ P R 10 14 6 16 (6) T=P; while( T-link!=NULL ) { T-data=(T-data)*2; T=T-link; } L S 2 ^ P R 10
文档评论(0)