在malloc函数中为什么常用sizeof来设定内存分配的大小?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weibo1230123/article/details/84201334

             在malloc函数中为什么常用sizeof来设定内存分配的大小?

例子:为40个整数变量分配内存并赋值,然后系统在收回这些内存。 

#include<stdlib.h>
#include<stdio.h>

void main()
{
    int *p;
    p = (int *)malloc(40*sizeof(int));//用sizeof(int)计算int类型数据的字节数
    if(!p)
        {
          printf("内存已用完");
          exit(0); 
        }
    printf("OK");
    
    free(p);

}

程序中用了sizeof以保证此程序可以移植到其他系统上去。 

注意:

(1)malloc(8)表示:开辟一个长度为8个字节的内存空间。 

(2)sizeof()功能是返回一个变量或者类型的大小,以字节为单位,对 sizeof() 的处理都是在编译阶段进行。

猜你喜欢

转载自blog.csdn.net/weibo1230123/article/details/84201334