C语言的动态数组函数的sizeof、malloc和free

来源:互联网 发布:mac版chrome没有flash 编辑:程序博客网 时间:2024/06/06 20:20

一、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,防止野指针出现,有效 规避误操作。

0 0
原创粉丝点击