开发者社区> 问答> 正文

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,

展开
收起
a123456678 2016-03-19 14:12:14 2498 0
1 条回答
写回答
取消 提交回答
  • sizeof计算的是变量所占的内存的大小,在32位iede操作系统下面,所有的指针类型的大小又是4 ,int类型的数据大小为4 字节,懂了吧,只要是指针全是4 ,其他的数据类型看具体的情况,数组大小 为数组的类型大小*数组的长度

    2019-07-17 19:08:07
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载