如何在C中确定数组的长度
C没有提供内置的方法来获取大批。您必须先做一些工作。
我想提一下最简单的方法:首先将数组的长度保存在变量中。有时,简单的解决方案是最有效的方法。
而不是像这样定义数组:
int prices[5] = { 1, 2, 3, 4, 5 };
您使用一个变量作为大小:
const int SIZE = 5;
int prices[SIZE] = { 1, 2, 3, 4, 5 };
因此,例如,如果您需要使用循环来迭代数组,则可以使用SIZE
多变的:
for (int i = 0; i < SIZE; i++) {
printf("%u\n", prices[i]);
}
获取数组长度值的最简单方法是使用sizeof
操作员。
首先,您需要确定数组的大小。然后,您需要将其除以一个元素的大小。之所以起作用,是因为数组中的每个项目都具有相同的类型,并且具有相同的大小。
例子:
int prices[5] = { 1, 2, 3, 4, 5 };
int size = sizeof prices / sizeof prices[0];
printf("%u", size); /* 5 */
代替:
int size = sizeof prices / sizeof prices[0];
您还可以使用:
int size = sizeof prices / sizeof *prices;
作为指针指向字符串的第一个项。
免费下载我的C手册
更多clang教程:
- C编程语言简介
- C变量和类型
- C常数
- C操作员
- C条件句
- 如何使用C中的循环
- C数组简介
- 如何在C中确定数组的长度
- C字符串简介
- 如何在C中查找字符串的长度
- C指针介绍
- 用C遍历数组
- C中的布尔值
- C函数简介
- 如何在C中使用NULL
- C语言中的基本I / O概念
- C中的双引号与单引号
- 如何从C函数返回字符串
- 如何解决C语言中的隐式声明库函数警告
- 如何在C中检查字符值
- 如何在C语言中使用`printf()`打印百分比字符
- C转换说明符和修饰符
- 如何在C中访问命令行参数
- C中变量的范围
- 可以在C中嵌套函数吗?
- C中的静态变量
- C全局变量
- C语言中的typedef关键字
- C枚举类型
- C结构
- C头文件
- C预处理器