C语言的动态数组函数的sizeof、malloc和free
2015-10-02 20:49
357 查看
一、sizeof()是C/C++中的一个操作符而已,用于返回一个对象或者类型在内存中所分配到的字节数
3种语法形式
1、sizeof(object);
2、sizeof(type);
3、sizeof object;
以上一般常见的用法
特殊用法
sizeof(10);//结果为4;
解释:一个常值也是一个对象,然后10是属于整形,所以他分配的4个字节。
malloc、free是C/C++在malloc.h中定义的一个函数。
malloc
extern void *malloc(unsigned int num_bytes);
作用:向系统申请分配num_bytes个字节的内存空间。成功则返回所分配的内存空间的首地址,类型为 void*(void *可以转换成为任何其他类型的指针,也需要转换为其他的具体的指针类型);否则返回null;
malloc基本的使用模式
int* pArray=(int *malloc(sizeof(int)*4));
pArray就相当于一个整形数组了,其用法与数组一样。
free
void free(void *ptr);
作用: 与malloc()函数配对使用,释放malloc函数申请的动态内存。使用后该指针变量一定要重新指向NULL,防止野指针出现,有效 规避误操作。
3种语法形式
1、sizeof(object);
2、sizeof(type);
3、sizeof object;
以上一般常见的用法
特殊用法
sizeof(10);//结果为4;
解释:一个常值也是一个对象,然后10是属于整形,所以他分配的4个字节。
malloc、free是C/C++在malloc.h中定义的一个函数。
malloc
extern void *malloc(unsigned int num_bytes);
作用:向系统申请分配num_bytes个字节的内存空间。成功则返回所分配的内存空间的首地址,类型为 void*(void *可以转换成为任何其他类型的指针,也需要转换为其他的具体的指针类型);否则返回null;
malloc基本的使用模式
int* pArray=(int *malloc(sizeof(int)*4));
pArray就相当于一个整形数组了,其用法与数组一样。
free
void free(void *ptr);
作用: 与malloc()函数配对使用,释放malloc函数申请的动态内存。使用后该指针变量一定要重新指向NULL,防止野指针出现,有效 规避误操作。
相关文章推荐
- hduacm 5480 Conturbatio前缀和
- 程序设计基石与实践之C语言指针和数组基础
- C++静态库与动态库
- Google C++ Style Guide的哲学
- Google C++ Style Guide的哲学
- C++学习笔记之类模板
- 一起talk C栗子吧(第五十二回:C语言实例--最小生成树四)
- C++学习笔记之运算符重载例子
- c++primer学习:顺序容器(1)
- 一起talk C栗子吧(第五十一回:C语言实例--最小生成树三)
- C++内联函数(内嵌函数,内置函数)
- C++虚析构函数详解
- 黑马程序员----C语言学习笔记之学习总结《通讯录》程序实现
- c++工厂模式
- Effective c++读书笔记三
- c语言的指针
- c++计算学分绩点代码
- 【C语言】双向链表的实现
- [C/C++]重读《The C Programming Language》
- C语言之关键字、宏定义、条件编译