计算未指定大小数组元素的数量
在数组初始化时,我们不希望将数组大小写死,后续可能会有修改,那么对于未指定大小的数组,如何计算其元素个数?
思路:已知数组名代表整个数组的物理大小,数组内单个元素代表数组的一个单元物理大小,假设数组物理空间是100,单个元素物理空间是5,那么该数组一共有20个元素。
array_element_number.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char arr[] = {"hello world"};
int iarr[] = {1, 2, 3};
char *objects[] = {
"hello",
"world",
"c",
NULL};
printf("计算字符数组的元素数量: %ld\n", sizeof(arr) / sizeof(arr[0]));
printf("计算整型数组的元素数量: %ld\n", sizeof(iarr) / sizeof(iarr[0]));
printf("计算指针数组的元素数量: %ld\n", sizeof(objects) / sizeof(objects[0]));
exit(EXIT_SUCCESS);
}
📌 注意:对于字符串,'\0'结尾符也算一个元素
作者:caojun97
出处:https://www.cnblogs.com/caojun97/p/18247138
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步