C语言:动态分配内存,malloc()与realloc()区别
来源:互联网 发布:君权级战列舰知乎 编辑:程序博客网 时间:2024/06/05 22:31
#include <stdio.h>#include <stdlib.h> //动态分配内存头文件int main(){ /* 何为动态? 即编译的时候,没有内存,程序运行后,再分配内存 */ //演示动态分配内存: int i; int * nums; //写一个int型的指针 nums = (int *)malloc(20); //通过malloc函数为前面的指针动态分配20个字节(5个整型)的空间 //或写成:nums = (int *)malloc(sizeof(int) * 5); /* double * dNums = (double *)malloc(sizeof(double) * 5); 这样写的好处是不用管double类型占几个字节,反正要5个元素 */ //等价于:int nums[5] //数组和指针有什么关系? 数组名就是数组的首地址 //int nums[5] = {}; //静态的分配空间 //为指针动态分配空间后,指针就变成了数组 for(i = 0; i < 5; i++) { printf("请输入第%d个元素: ", i + 1); scanf("%d", nums + i); } printf("数组元素为:\n"); for(i = 0;i < 5; i++) { printf("%d\t", *(nums + i)); } free(nums); //释放动态分配的内存 nums = NULL; //良好的编程习惯 return 0;}
注意1:calloc作用与molloc类似1、不需要强转,直接返回数组2、两个参数, 默认初始化数组元素注意2:关于free函数1、必须是通过molloc、calloc或realloc分配内存的指针2、释放的指针必须是初始分配的地址,进行运算后需要恢复realloc是重新分配内存
阅读全文
0 0
- C语言:动态分配内存,malloc()与realloc()区别
- C语言 利用malloc()和realloc()动态分配内存
- C语言动态内存分配之malloc与realloc区别
- c 内存动态分配 malloc free calloc realloc
- 动态分配内存 malloc、calloc、realloc
- C语言 内存分配 (malloc/realloc/calloc区别)
- C语言内存分配calloc,malloc,alloc,realloc的区别
- C语言中的realloc函数动态分配内存
- C语言中的realloc函数动态分配内存
- C语言动态内存分配中malloc与realloc有什么区别?
- C语言内存分配:malloc、calloc、realloc
- C语言内存分配--malloc、calloc、realloc
- C语言:动态内存malloc,calloc,realloc
- C语言之 malloc,realloc, calloc区别
- C语言realloc,malloc,calloc的区别
- C语言 malloc calloc realloc 区别
- C语言中realloc,malloc,calloc区别
- 动态分配内存函数:malloc(),calloc(),realloc()总结
- 袁开红:特色小镇可以“做”但不能“作”
- 浅谈Java虚拟机的工作模式Client和Server。
- UVa11988
- Linux进程间通信概述
- 避免Block的循环引用
- C语言:动态分配内存,malloc()与realloc()区别
- c# swagger 笔记二
- 最近项目有个需要,需要动态截取输入字符串中的某些特殊字符组,使用正则表达式可以完成。记下备用
- Fox and Box Accumulation CodeForces
- 公共耦合
- 中国剩余定理求解同余线性方程组—(互素和非互素的情况)
- Caffe-OpenCL在ubuntu16.04.2上的简要安装指南
- java线程池
- javascript如何查找字符中的回文串?