C 字符串处理

标签 c arrays string

我知道在函数之间传递字符串时

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/

相关文章:

php - 如何将数据存储到MySQL用于数组输入

ruby - 如何计算 Ruby 中两个普通区间的交集?

c - 非常简单的代码中的指针问题、参数错误和一般问题

Swift Playground - 如何将带逗号的字符串转换为带小数的字符串

c++ - 特定地址空间的预处理器指令

php - 用 PHP 创建所有可能的组合

android - unsigned char 打印正确的值,如 memcmp

Python匹配字符串中的元组

c - 如何将整数数组作为参数传递给函数并修改内容?

c - 删除链表中包含用户输入的字母的元素