我是C语言的新手,我无法弄清楚char* stc[4];
和char stc[4];
之间的区别..
我知道char stc[4];
会创建一个包含4个项目的数组,但创建第一个项目的内容对我来说是一个谜。
提前谢谢!
答案 0 :(得分:6)
char *stc[4];
创建一个包含指向char
的4个指针的数组。 (对C的任何介绍都应该解释指针和声明。)
答案 1 :(得分:2)
char* stc[4]
是一个指针数组,用于存储4个char数据类型变量的地址。
int main ()
{
char stc[] = {'a', 'b', 'c','d'};
char *ptr[4];
int i;
for ( i = 0; i < 4; i++)
{
ptr[i] = &stc[i]; /* assign the address of char array elements. */
}
}
答案 2 :(得分:2)
您应该首先了解指针在C中的内容。第一个声明分配内存以保存指向char
值的4个指针。第二个声明为保存4 char
个值分配内存。
快速回答指针是什么,想想一下图书馆。图书馆包含“书籍”类型的项目,图书管理员会给你一个指针(一个便利贴或一张纸),上面有你感兴趣的书的位置信息。所以,类比地说,第一个声明保留4个后的内存,第二个预留4本书的内存。