码迷,mamicode.com
首页 > 编程语言 > 详细

C语言中字符串赋值的几个理解

时间:2018-10-13 11:42:35      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:示例   c语言   常量   har   bsp   直接   ima   理解   程序   

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

  一、首先,我们来看第一种赋值方法:指针式赋值

技术分享图片

我们知道,上面的示例是显然可以正常执行的,也是很容易理解的。但是下面这种方式就令人有点难以理解和头大了。

技术分享图片

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

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

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

(3)返回地址。

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

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

技术分享图片

三、需要注意的一些问题

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

技术分享图片

 

技术分享图片

 

C语言中字符串赋值的几个理解

标签:示例   c语言   常量   har   bsp   直接   ima   理解   程序   

原文地址:https://www.cnblogs.com/xing-ting/p/9782166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!