C 语言中数组长度的计算可以通过以下两种方法:使用 sizeof 运算符,将数组总大小除以每个元素的大小。使用预处理器宏 #define,需要包含头文件 。

C 语言中数组长度的计算
如何计算 C 语言中数组的长度?
在 C 语言中,数组的长度可以通过以下两种主要方法计算:
1. 使用 sizeof 运算符
立即学习“C语言免费学习笔记(深入)”;
int main() {
int array[] = {1, 2, 3, 4, 5};
int array_length = sizeof(array) / sizeof(int);
printf("Array length: %d\n", array_length);
return 0;
}-
sizeof(array)计算数组的总大小(以字节为单位) -
sizeof(int)计算数组中每个元素的大小 -
/将总大小除以每个元素的大小,得到数组长度
2. 使用预处理器宏
C99 标准引入了一个预处理器宏 #define,可用于计算数组长度:
#includeint main() { int array[] = {1, 2, 3, 4, 5}; int array_length = ARRAY_SIZE(array); printf("Array length: %d\n", array_length); return 0; }
-
ARRAY_SIZE(array)宏需要包含头文件 - 它使用一个编译时常量表达式来计算数组长度,并返回该长度
优势和劣势
- 使用
sizeof运算符:简单易用,但在某些编译器中可能无法正确处理多维数组。 - 使用
ARRAY_SIZE宏:对于多维数组更可靠,但需要包含头文件并可能使代码不可移植。
注意:
- 数组长度是一个编译时常量,这意味着它在编译时确定,并且在程序运行时不会改变。
- 数组长度与数组容量不同。容量是指数组可以容纳的元素数量,而长度是指已使用的元素数量。











