C程序设计教案352课时——动态内存分配与指向它的指针变量.docx
《C程序设计教案352课时——动态内存分配与指向它的指针变量.docx》由会员分享,可在线阅读,更多相关《C程序设计教案352课时——动态内存分配与指向它的指针变量.docx(6页珍藏版)》请在第一文库网上搜索。
1、教案序号035周次授课形式新授授课章节名称动态内存分配与指向它的指针变量教学目的理解动态内存分配与指向它的指针变量教学重点学会使用动态内存分配与指向它的指针变量教学难点学会使用动态内存分配与指向它的指针变量使用教具机房课外作业课后体会授课主要内容 8.8.1什么是内存的动态分配 非静态的局部变量是分配在内存中的动态存储区的,这个存储区是一个称为栈的区域 C语言还允许建立内存动态分配区域,以存放一些临时用的数据,这些数据需要时随时开辟,不需要时随时释放。这些数据是临时存放在一个特别的自由存储区,称为堆区 8.8.2怎样建立内存的动态分配 对内存的动态分配是通过系统提供的库函数来实现的,主要有ma
2、11oc,ca11oc,free,rea1Ioc这4个函数。 8.8.2怎样建立内存的动态分配1.ma11oc函数其函数原型为void*ma11oc(unsignedintsize);其作用是在内存的动态存储区中分配一个长度为size的连续空间函数的值是所分配区域的第一个字节的地址,或者说,此函数是一个指针型函数,返回的指针指向该分配域的开头位置8.8.2怎样建立内存的动态分配ma11oc(100);开辟100字节的临时分配域,函数值为其第1个字节的地址注意指针的基类型为VOid,即不指向任何类型的数据,只提供一个地址如果此函数未能成功地执行(例如内存空间不足),则返回空指针(NU11)8.8
3、.2怎样建立内存的动态分配2. CaIIOC函数其函数原型为void*ca11oc(unsignedn,unsignedsize);其作用是在内存的动态存储区中分配n个长度为SiZe的连续空间,这个空间一般比较大,足以保存一个数组。8.8.2怎样建立内存的动态分配用CanOC函数可以为一维数组开辟动态存储空间,n为数组元素个数,每个元素长度为size。这就是动态数组。函数返回指向所分配域的起始位置的指针:如果分配不成功,返回NU11。如:p=ca11oc(50,4);开辟50X4个字节的临时分配域,把起始地址赋给指针变量p8.8.2怎样建立内存的动态分配3. free函数其函数原型为voidf
4、ree(void*p);其作用是释放指针变量P所指向的动态空间,使这部分空间能重新被其他变量使用。P应是最近一次调用Ca11OC或ma11oc函数时得到的函数返回值。8.8.2怎样建立内存的动态分配free(p); 释放指针变量P所指向的已分配的动态空间 free函数无返回值 8.8.2怎样建立内存的动态分配4. rea11oc函数 其函数原型为void*rea11oc(void*p,unsignedintsize); 如果已经通过maoc函数或CaIIoC函数获得了动态空间,想改变其大小,可以用reca11oc函数重新分配。 8.8.2怎样建立内存的动态分配 用rea11oc函数将P所指向的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 教案 352 课时 动态 内存 分配 指向 指针 变量