发布网友 发布时间:2022-03-29 19:11
共2个回答
热心网友 时间:2022-03-29 20:40
定义:用双引号(“”)括起来的0个或者多个字符组成的序列
存储:每个字符串尾自动加一个 ‘\0’ 作为字符串结束标志
(1)在C语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。例如“char a[10]="love".”
(2)在程序中,字符串常量会生成一个“指向字符的常量指针”。当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符所存储的地址,而不是这些字符本身。因此,你可以把字符串常量赋值给一个“指向字符 的指针”,例如:char *a = "123" ; a = "abc";,后者指向这些字符所存储的地址。但是,你不能把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。例如:char a[5];a[0] = "a";就是错误的,报错结果:invalid conversion from 'const char*' to 'char'。
例如:char a[10]="love",的意思就是用字符串“love”来初始化字符数组a的内存空间,而数组的首地址也就是“love”字符串的地址。
热心网友 时间:2022-03-29 21:58
【方式1】宏定义
#define STRING "hello,world"【方式2】字符数组
【方式3】字符指针
char *pstr="hello,world";