mar*_*nev 5 c arrays string
我想创建一个字符串数组.问题是我希望能够静态访问每个字符串的长度.我试过这个:
char *a[] = {"foo", "foobar"};
数组工作正常,但我想静态地知道每个元素的长度.我无法使用,sizeof(a[0])因为它返回char *指针的大小.我想要的是字符串大小的长度(对于[0]为4,对于[1]为7).
sizeof(a[0])
char *
有没有办法做到这一点?
Oli*_*rth 4
简而言之,不,不是在编译时(至少不是对于任意数量的字符串)。正如其他人指出的那样,您可以执行各种类似运行时初始化的操作。正如其他人指出的那样,对于固定数量的字符串有解决方案。
的类型a[0]必须与(显然)相同a[1]。因此sizeof()对于 的所有值必须求得相同的值a[i]。
a[0]
a[1]
sizeof()
a[i]
归档时间:
14 年,11 月 前
查看次数:
3294 次
最近记录: