怎么进行字符串赋值?C语言

Python014

怎么进行字符串赋值?C语言,第1张

在C语言中,字符串赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值。

1、指针式赋值。

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

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

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

(3)返回地址

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

2、通过字符数组直接把字符串赋值。程序如下:

扩展资料:

字符串赋值需要注意的一些问题:

直接把字符串赋值给数组名(也就是数组首元素的首地址)是不行的。

会出现以下错误:

参考资料:

百度百科--字符串赋值

char

c[10]

//c是数组名,代表数组的首地址。要是想让数组中存放一个字符串,只需知道首地址即可。所以可以用scanf("%s",c)因为c本身就是地址,所以不用加&

char

*s

//s是指针变量,指针可以存放一个地址值

s="abcde"

//c语言中字符串常量是以数组的形式在内存中存放,这条赋值语句,相当于是把abcde的首地址赋给了指针变量s

char

s

//s是一个字符变量,只能给其赋一个合法的字符