大家好,关于为什么不能将字符串常量赋给一个字符变量很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于不建议使用从字符串常量到的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
本文目录
c语言字符串是常量吗
c语言字符串是常量。
?在C语言中,一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个ASCII字符集中的字符括起来作为字符常量。字符常量在内存中占4个字节,存放的是字符的ASCII码(整型数据)。C语言规定所有字符常量都作为整型量来处理。
为什么不能将字符串常量赋给一个字符变量
一,字符串是一个串,至少有一个字符,且字符串是以'\0'结尾的,所以在内存空间中至少需要2个字节的空间。
二,而字符是仅仅是单个的字符,在内存空间中占一个字节大小。
三,字符串常量也是字符串,只不过是存在文字常量区,只读而已。综上,可知不可以将字符常量赋给一个字符变量。所以字符变量只能存单个字符,我们可以用字符数组来存放字符串,也可以把字符串的首地址赋给指向char型的指针变量。比如:charstr[]="helloworld";或者char*ptr="helloworld";都可以。补充回答:charc;c='a';这样是可以的.因为'a'表示一个字符.而如果你这样:charc;c="a";就不对了,因为这时"a"表示的不是一个字符,而是表示一个字符串,字符串有一个字符a,然后'\0'结束.要注意字符和字符串的区别:单引号括起来的是一个字符,如'a','b'等.双引号括起来的就是一个字符串,如"hello","abc","a"等等.
如何理解字符串变量是不可变量
字符串变量可以赋予不同的字符串,一旦赋值完毕,这个字符串中的字符都是char型的字符常量,所以又是不可变量。
C语言中字符串常量的好处在哪里
常量就是就是值不能变化或者说值只读的量。
C语言中有两种形式的常量,宏定义和const常量。
宏常量我们定一个折扣discount为0.85:
#defineDISCOUNT0.85
宏定义是预处理,程序不会为它分配存储空间,编译器执行预处理的时候会把程序中遇到的所有DISCOUNT都替换为0.85。
const常量我们定义const常量,格式为:
constfloatDISCOUNT0.85f;
我们对比知道const常量俱有类型,这是和宏定义的不同之处;还有就是const常量在编译后存储在一个全局符号表中(或者静态数据存储区),其值只读无法修改。
常量的作用常量作用就维护一个不能修改的变量。这样防止被人乱改,主要用于程序一个全局性质关键参数设置。比如你一个销售系统的折扣,你设置好了就不能随便更改。
还有就是一些数学上,物理学等一些常数直接记数字不是很方便就给它起个别名代替之。比如我们定义圆周率。
#definePI3.1415926
注意:我们定义常量时候都是用的大写,这是编程届的一些需要墨守的成规。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!