这可能听起来非常愚蠢和愚蠢.我想了解它们之间的区别
char *token[32];
Run Code Online (Sandbox Code Playgroud)
和
char token[32];
Run Code Online (Sandbox Code Playgroud)
char token [32]将token声明为可包含32个字符的字符数组.
在char*token [32]的情况下,令牌包含32个字符指针.这些指针指向什么?或者更具体地说,用户有责任为指针指向的内容分配内存.
小智 7
现在将
char *token[32]token声明为指向可包含32个字符的字符数组的指针.
不,它声明token是一个包含32个char指针的数组.换句话说,在第一种情况下token保持32个字符,在第二种情况下,它保持32个指针.
如果你想声明一个指向一个包含32个字符的字符数组的指针,你就会写
char arr[32];
char (*token)[32] = &arr;
Run Code Online (Sandbox Code Playgroud)