下面代码注释中的整个数组的大小和语句是否正确?
//gArray uses sizeof(char)*100 = 1*100 = 100 bytes.
char gArray[100];
//gArray uses sizeof(char)*100*50 = 1*100*50 = 5000 bytes.
char gArray[100][50];
//gArray is a 2D array, each element is a pointer to a char (although
//char data type is irrelevant).
//gArray uses sizeof(void*)*100*50 = (4 or 8) * 100 * 50 = 20000 or 40000 bytes.
char* gArray[100][50];
谢谢。
最佳答案
sizeof(char)
根据定义 1
因此它将是 100、5000 和 20000 或 40000(在大多数系统上 - 不禁止 128+ 位指针按标准)。
关于c++ - 这些大小对于变量数组和变量指针数组是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6782050/