我不太明白,这是我用C语言写的一个简单的程序。
示例1。
int main(void) {
char * b;
memmove((char *)&b, "saaaa", 6);
puts((char *)&b);
return 0;
}
这是我自己的代码, 例2。
int main(void) {
char b[10];
memmove(b, "baaaa", 6);
printf("%s\n", b);
return 0;
}
为什么在例1中使用&
?当我想在scanf()中为变量赋值时,我大多使用了&
符号。但是在例1中,我没有指定它。我唯一要做的就是将字符串saaaa
移动到变量b。
为什么要以任何方式使用(char *)
方法?
答案 0 :(得分:1)
&符号运算符(&
)用于变量前面以获取该变量的地址。执行&b
将获得b
内存中的地址。
以下是关于何时使用&符号的很好的帖子:http://git-scm.com/download/mac
希望这有帮助。
编辑:正如FatalError在评论中指出的那样,你的例子似乎已被打破。我能做的最好的事情就是指明你理解这些操作员的正确方向。