在数组初始化时,我们不希望将数组大小写死,后续可能会有修改,那么对于未指定大小的数组,如何计算其元素个数?
思路:已知数组名代表整个数组的物理大小,数组内单个元素代表数组的一个单元物理大小,假设数组物理空间是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);
}
标签:arr,int,元素,数组,printf,sizeof,数量
From: https://www.cnblogs.com/caojun97/p/18247138