C语言中字符串的两种赋值方法 - 指针赋值和数组赋值

在C语言中,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值。当然在C++ 中也是可以的,C++是C的超集嘛,在C++中包含了C的所有功能;
C语言中字符串的两种赋值方法 - 指针赋值和数组赋值_第1张图片

1、指针式赋值。

通过程序的运行情况,可以知道:char *s1 = “nihao”;这种字符串的赋值方式是完全没有问题的。要理解这种赋值方式,首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了个单引号)在这个语句中做了什么工作。双引号主要做了3个工作,分别是:

(1)申请了空间(在常量区),存放了字符串。

(2)在字符串尾加上了“\0”。

(3)返回地址。

这里所返回的地址就赋值给了char *类型的指针变量s1。

如果还是不懂看这个:
C语言中字符串的两种赋值方法 - 指针赋值和数组赋值_第2张图片

2、通过字符数组直接把字符串赋值。

你可能感兴趣的:(杂记,C,c语言,c++)