这可能听起来非常愚蠢和愚蠢。我想了解
之间的区别char *token[32];
和
char token[32];
char token [32]将token声明为可包含32个字符的字符数组。
在char * token [32]的情况下,令牌包含32个字符指针。这些指针指向什么?或者更具体地说,用户有责任为指针指向的内容分配内存。
答案 0 :(得分:7)
现在
char *token[32]
声明令牌是指向可包含32个字符的字符数组的指针。
没有。它声明token
是一个包含32个char指针的数组。换句话说,在第一种情况下token
包含32个字符,在第二种情况下,它包含32个指针。
如果要声明指向包含32个字符的字符数组的指针,则应编写
char arr[32];
char (*token)[32] = &arr;
答案 1 :(得分:4)
char *token[32];
是一个包含32个char指针的数组。即阵列可以用作:
token[0]=p1;
token[1]=p2;
.....
其中p1和p2可以是char[]
或char*
类型。
这篇文章可以帮助您理解除了提出的更多相关内容: