# include <stdio.h> int main(void) { int a[10] = {0}; printf("sizeof(a) = %d\n", sizeof(a)); return 0; }输出结果是:
# include <stdio.h> int main(void) { int a[10] = {0}; int cnt = sizeof(a) / sizeof(a[0]); printf("cnt = %d\n", cnt); return 0; }输出结果是:
sizeof(a)/sizeof(a[0])
都能自动求出数组的长度。需要注意的是,它求出的是数组的总长度,而不是数组中存放的有意义的数据的个数。比如定义一个int型的数组:
int a[10] = {1, 2, 3, 4, 5};我们只初始化了五个元素,但是
sizeof(a)/sizeof(a[0])
求出的是 10,而不是 5。换句话说,我们无法通过 sizeof(a)/sizeof(a[0])
求出数组中有多少个有意义的数据。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有