我知道在函数之间传递字符串时
char *str 与函数头中的 char str[n] 几乎相同。
但是我确实想知道为什么这会起作用以及这两个在使用字符串时有什么区别
我发现如果我先声明一个“char *in”,然后为其分配一个字符串“in=string;” 这行不通
有人可以告诉我这背后是什么吗?
我可以将一个数组分配给另一个数组吗?就像Java一样
谢谢
char[] one;
char[] two={'a','b'};
one=two;
最佳答案
char[] one;
语法错误。这不是Java。
char* one;
char two[]={'a','b'};
one = two;
这是有效的,因为数组会衰减为指针。
"char *str is almost the same as char str[n] in function header."
不。数组和指针是两个不同的概念。它们并不相同。
关于C 字符串处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7695236/