我是新来的C语言,我无法弄清楚什么是char* stc[4];
和char stc[4];
之间的区别..这两个声明有什么区别?
我知道char stc[4];
将创建4个项目,但什么创造的第一个数组是一个谜给我.. 在此先感谢!
我是新来的C语言,我无法弄清楚什么是char* stc[4];
和char stc[4];
之间的区别..这两个声明有什么区别?
我知道char stc[4];
将创建4个项目,但什么创造的第一个数组是一个谜给我.. 在此先感谢!
char *stc[4];
创建一个指向char
的4个指针的数组。 (C的任何介绍都应解释指针和声明。)
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. */
}
}
对象,而不是变量。 – fuz
你应该学会第一个指针是什么C.第一个声明举行4个指针char
值分配内存。第二个声明分配内存用于保存4 char
值。
快速回答指针是什么,想想图书馆。一个图书馆包含“书”类型的项目,图书管理员会给你一个指针(一个贴子或一张纸)与关于你感兴趣的书的位置信息。因此,类比地,第一个声明保留4个帖子的记忆,第二个保留4个记忆的记忆。
这太宽泛了吗?我认为这是一个非常具体的问题 - 减去绒毛,它是“char * str [4]是什么;'声明? – immibis