c语言关于链表赋值问题
本帖最后由 风之残月 于 2014-11-9 22:33 编辑struct node
{
char a;
struct node *next;
};
我定义了一个结构体,想把char b里面的元素赋值给a里面去,可是创建链表p->a= b,这句话不能实现,
请问我该怎么进行传值的,其他的代码无误,这是一部分。
小白在线求助
p->a 的值是地址, 而b是一个数组b里面的一个值,不能这样赋值
要赋值的话可以使用for
for (int i=0; i<10; ++i)
{
p->a = b;
}
或者使用字符串拷贝函数,如strcpy(a, b); 本帖最后由 aix0321 于 2014-10-29 22:18 编辑
p->a是数组a的首地址,把数组b的元素赋给一个地址是什么意思呢?
要把数组b的元素赋给数组a可以用strcpy函数,strcpy(p->a, b);,要包含头文件string.h
或者把p->a = b;放到for循环里,循环10次即可~ aix0321 发表于 2014-10-29 22:15
p->a是数组a的首地址,把数组b的元素赋给一个地址是什么意思呢?
要把数组b的元素赋给数组a可以用strcpy函 ...
恩恩,我没仔细看,实在是丢人,我想问一下,我怎么给结构体里面的成员char a初始化为0呢? 本帖最后由 aix0321 于 2014-10-30 13:56 编辑
confuss 发表于 2014-10-29 22:28
恩恩,我没仔细看,实在是丢人,我想问一下,我怎么给结构体里面的成员char a初始化为0呢?
初始化为0?用到成员a的时候再初始化呗,为什么要初始化为0呢?要是初始化为字符'0',用char a = {'0'},要是初始化为数字0,就相当于初始化为'\0',用char a = {0}。
confuss 发表于 2014-10-29 22:28
恩恩,我没仔细看,实在是丢人,我想问一下,我怎么给结构体里面的成员char a初始化为0呢?
首先必须明确的是你想初始化为0还是‘0’,二者不同,若是前者,推荐使用以下语句:
char a = {0} ;
若是后者
char a = {'0'} ; a是数组名,你用数组给数组名赋值肯定不行啊
页:
[1]