您的位置:首页 > 编程语言 > C语言/C++

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,防止野指针出现,有效 规避误操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: