C语⾔中字符串赋值的⼏个理解
在C语⾔中,字符串的赋值主要有两种⽅法,第⼀种是通过指针的⽅式直接赋值,第⼆种是通过数组直接赋值。
  ⼀、⾸先,我们来看第⼀种赋值⽅法:指针式赋值
我们知道,上⾯的⽰例是显然可以正常执⾏的,也是很容易理解的。但是下⾯这种⽅式就令⼈有点难以理解和头⼤了。
通过程序的运⾏情况,我们可以知道:char *p = "hello";这种字符串的赋值⽅式是完全没有问题的。要理解这种赋值⽅式,我们⾸先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了个单引号)在这个语句中做了什么⼯作。双引号主要做了3个⼯作,分别是:
(1)申请了空间(在常量区),存放了字符串。
(2)在字符串尾加上了“\0”。
(3)返回地址。
这⾥所返回的地址就赋值给了char *类型的指针变量p。
⼆、通过字符数组直接把字符串赋值。程序如下:
三、需要注意的⼀些问题
c语言定义一个字符串
(1)直接把字符串赋值给数组名(也就是数组⾸元素的⾸地址)是不⾏的

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。