Frozen2022 2014-07-03 02:33 采纳率: 80%
浏览 2872
已采纳

C语言malloc后使用sizeof的问题

编译器visual studio
如下代码:

   int **ip;
    ip = (int **)malloc( sizeof(int*) *2);
    for(int i = 0;i < 2 ; ++i)
    {
        ip[i] = (int *)malloc(sizeof(int) * 3);
    }
    //测试sizeof(ip)/sizeof( int *)值为1,
    //sizeof(p)值为4,
    //测试sizeof(ip[0])/sizeof( int)值也为1,

在看如下代码:

int ia[2][3];
//测试sizeof(ia)/sizeof( int *)值为2,
//sizeof(p)值为24,
//
//测试sizeof(ia[0])/sizeof( int)值也为3,
  • 写回答

1条回答 默认 最新

  • 小邓在路上 2014-07-24 00:46
    关注

    sizeof计算的是变量所占的内存的大小,在32位iede操作系统下面,所有的指针类型的大小又是4 ,int类型的数据大小为4 字节,懂了吧,只要是指针全是4 ,其他的数据类型看具体的情况,数组大小 为数组的类型大小*数组的长度

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用