char str[] = "Hello World";这种方法直接将字符串文字(引号内的文本)分配给一个字符数组。字符串文字以一个空字符('\0')结尾,表示字符串的结束。立即学习“C语言免费学习笔记(深入)”;使用字符串常量#define M">

c语言如何赋值字符串

来源:这里教程网 时间:2026-02-21 16:51:25 作者:

C语言中向字符串赋值方法

在C语言中,为字符串赋值有两种主要方法:

使用字符串文字

<code class="c">char str[] = "Hello World";</code>

这种方法直接将字符串文字(引号内的文本)分配给一个字符数组。字符串文字以一个空字符('\0')结尾,表示字符串的结束。

立即学习“C语言免费学习笔记(深入)”;

使用字符串常量

<code class="c">#define MESSAGE "Hello World"
char *str = MESSAGE;</code>

这种方法使用预处理器宏定义字符串常量,然后将字符串常量的地址分配给一个字符指针。字符串常量无法修改,因此这种方法常用于定义不可变的字符串。

如何选择赋值方法

使用何种赋值方法取决于具体情况:

如果字符串是已知的并且不会改变,则使用字符串文字更方便。 如果字符串需要动态生成或修改,则使用字符串常量更合适。

示例

以下示例演示了两种赋值方法的用法:

<code class="c">char str1[] = "Original String";
char *str2 = "New String";
printf("%s\n", str1); // 输出:“Original String”
printf("%s\n", str2); // 输出:“New String”
strcpy(str1, str2); // 将 str2 的内容复制到 str1 中
printf("%s\n", str1); // 输出:“New String”</code>

在这个示例中,

str1
使用字符串文字赋值,而
str2
使用字符串常量赋值。然后,
strcpy
函数将
str2
的内容复制到
str1
中,从而修改了
str1
的值。

相关推荐