C语言二维数组中sizeof怎么用的

部分程序如下:
char book[][80]={"计算机应用基础","C语言","C++程序设计","数据结构"};
int n=sizeof(book)/sizeof(book[0]);

这里的sizeof(book)、sizeof(book[0])、n分别等于多少

    sizeof是C语言中的一个运算符,作用是求类型、变量占用内存空间的大小。sizeof的求值发生在编译阶段,并将求值结果编码进可执行文件中。

    对二维数组使用sizeof即求二维数组占用的空间,可使用以下公式:

    第一维大小(行数) *  第二维大小(列数) * 每个元素占用的空间(sizeof元素类型)

    举个例子:

#include <stdio.h>

int main()
{
    float a[3][5];
    
    printf("%d\n", sizeof(a));
    
    return 0;
}

数组a的大小为 3 * 5 * 4 = 60

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-01
char book[a][80]
book 已经初始化 即 a=4
char类型的大下为:1 所以char book[80] = 80*1=sizeof(book[0]) sizeof(book)= 4*80*1
n=(4*80*1)/(80*1) =4来自:求助得到的回答本回答被网友采纳
第1个回答  推荐于2018-03-01
sizeof(book) = 4 * 80
sizeof(book[0]) = 80

n = 4提交回答
相似回答