[C语言] 数据结构-预备知识动态内存分配
2018-06-18 03:54:29来源:未知 阅读 ()
动态内存分配
静态内存分配数组 int a[5]={1,2,3,4,5}
动态内存分配数组
int len=5;
int *parr=(int *)malloc(sizeof(int) * len);
1.分配了 4*5 =20个字节的内存空间,返回了第一个字节的地址
2.第一个字节的地址无意义,所以强制转成int类型的地址int *
3.parr此时指向第一个字节的地址,相当于a,当成普通数组使用
*parr=4 <===> a[0]=4
parr[1] <===> a[1]
4.释放内存
free(parr) 把parr所代表的动态分配的20个字节内存释放
#include <stdio.h> #include <malloc.h> int main(void){ printf("%s\n","请输入数组长度"); int len; scanf("%d",&len); //动态分配内存 int * parr=(int *)malloc(sizeof(int)*len); int i; for(i=0;i<len;i++){ printf("元素:"); scanf("%d",&parr[i]);//另一种方式,*(parr+i) } for(i=0;i<len;i++){ printf("%d\n",parr[i]);//当成普通数组使用 } //释放内存 free(parr); }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:C语言 知识点总结完美版
- 关于各种不同开发语言之间数据加密方法(DES,RSA等)的互通的 2020-06-07
- C语言程序结构 2020-05-31
- 数据结构—链表 2020-05-29
- 图 2020-05-02
- 每日干货丨C++语言主流开发工具推荐! 2020-04-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash