【发布时间】:2015-05-30 20:32:33
【问题描述】:
我是编程新手。现在我正在学习C 和Java。
我有一个这样的数组 -
char *array = {"zero", "one", "two", "three"};
从这个link我可以像这样打印数组内容 -
printf("%s %s", array[0], array[1]); //zero one
但我的问题是如何打印array[0]、array[1] 等引用的长度。我知道我可以做这样的事情 -
printf("%d\n", sizeof("zero");
但是我可以使用array 变量本身打印尺寸吗?
我尝试过不同的方法,比如 -
printf("%d\n", sizeof(array[0]); //4
printf("%d\n", sizeof(*array[0]); //1
但每次我得到错误的答案。
谢谢
【问题讨论】:
-
C - SizeOf Pointers 的可能重复项
-
顺便说一句,
char *array = {};声明没有声明char指针数组,或者在这种情况下为字符串,它应该是char *array[] = {"zero", ... }。 -
我不是在寻找 sizeof 指针。我正在寻找指针所引用的字符串长度。可能我在尺寸和长度之间搞砸了。这就是混乱发生的原因。