很简单的c语言概念问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 06:06:21
void main()
{
char name[20];
name="abc";

}
这个概念对不对?
字符串能不能带入变量中.高手指教一下

首先我可以告诉你这段程序是不对的,它在编译系统中会被查出错误,但只是语法上的不对,你应写为
char name【20】="abc";
数组可以在定义中整体赋值,不能在单纯的赋值语句中整体赋值,这点在很多书上都没有提及,我也是在学习过程中自己在上机时试验的.

可以啊,你编译运行得了就行了。
name="abc";

a 存于 name[0]中
b 存于 name[1]中
c 存于 name[2]中

不对.
char name[20];
成功以后,name实际上就分配到了内存里面的一个地址,例如0xffffffff,就和一个指针一样,是个地址.但是他是个定值.
代表一个地址.
因此你后在的附值是不对的,你相当于把变量附给一个定值了.
而且数据类型也不对,name是个地址定量,而后面的是字符串,相当于这样的错误.
const int i=20;
i=30.1;
所以不能这样用.

很简单
void main()
{
char name[20]="abc";
}
name="abc";
这样是不对的,这里,name是指向数组首元素的地址
也就是说
name=&name[0]
*name='a';

不对!你应该使用标准函数 strcpy(name,"abc");
也就是这样:

#include <stdio.h>
#include <string.h>

void main()
{
char name[20];
strcpy(name,"abc");
...
}