char word[100];
在C中的意思。我假设它意味着它将字符的限制设置为100.我仍然不确定。
答案 0 :(得分:3)
char word[100]
创建一个char
的数组,类似于int word[100]
创建int
数组的方式。
此字符数组允许您存储索引0到99之间的100个字符。
答案 1 :(得分:2)
word[100]
是一个字符串(char数据类型的数组)。但C中的字符串有点
与普通阵列不同。字符串末尾将包含空字符(' \ 0')。因此word[100]
可以包含来自输入的99个字符,这些字符将从0开始索引
- 98和空字符将放在索引号99中。
答案 2 :(得分:1)
此声明将word
创建为char
的100个元素数组:
+---+
word: | | word[0]
+---+
| | word[1]
+---+
| | word[2]
+---+
...
+---+
| | word[99]
+---+
每个word[i]
存储一个char
值。在C中,数组从0开始索引,因此对于N元素数组,有效索引的范围是0到N-1。您可以在word
(元素0到98)中存储长度最多 99个字符的字符串,为字符串终止符留出1个可用元素。当然,您也可以存储较短的字符串:
0 1 2 3 4 5 6 7 99
+---+---+---+---+---+---+---+---+ +---+
|'H'|'e'|'l'|'l'|'o'| 0 | ? | ? |...| ? |
+---+---+---+---+---+---+---+---+ +---+
您还可以在一个数组中存储多个字符串:
0 1 2 3 4 5 6 7 8 9 10 11 99
+---+---+---+---+---+---+---+---+---+---+---+---+ +---+
|'H'|'e'|'l'|'l'|'o'| 0 |'W'|'o'|'r'|'l'|'d'| 0 |...| ? |
+---+---+---+---+---+---+---+---+---+---+---+---+ +---+
或者,您可以存储100个不组成字符串 1 的字符。
C声明语法有点复杂 - 对象的类型由声明说明符(类型说明符,类型限定符,对齐说明符等)和声明符<的组合决定。 / em>的
在声明中
char word[100];
char
是类型说明符,word[100]
是声明符。 &#34;阵列&#34;如果我们更改了类型说明符,那么word
被指定为声明符的一部分:
int word[100];
我们现在有一个100个元素的int
数组。
Array-ness,pointer-ness和function-ness都在声明符中指定:
T a[N]; // a is an N-element array of T
T *p; // p is a pointer to T
T f(); // f is a function returning T
其中T
代表类型说明符和限定符的某种组合。数组,指针和函数可以组合成任意复杂的类型:
T *a[N]; // a is an N-element array of pointers to T
T (*a)[N]; // a is a pointer to an N-element array of T
T *(*f())[N]; // f is a function returning a pointer to an N-element array of
// pointers to T
等。
<小时/>