在c语言中 字符串如何去定义?有几种定义方法

在c语言中 字符串如何去定义?有几种定义方法,第1张

C语言中用字符型CHAR来表示存储字符,没有C++里面的可以单独的字符串类型String
所以C里面使用字符数组和字符指针来实现字符串功能
C的字符数组只能在定义时一起赋值,以后只能给单个元素一一赋值;
前面那位朋友说的
char
s="asf32gs";是不行的,你可以上机试一下,char
s是定义一个单个字符变量,不能把字符串的值赋给它,可以改为定义一个字符指针指向字符串char
s="safdfsdf";改为数组也可char
s[]="dsfdsfsdf",数组大小可以不写,如果你直接赋值的话,编译器会根据字符串长度分配对应的空间,若给了大小,也可以赋值,这时要自己注意字符串长度不要比长度-1还大

可以通过字符数组或字符指针来定义字符串,也可以用宏定义对常量字符串进行定义。

下面通过举例来分别进行说明:

char str1[] = "HelloWorld";  // 通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符
char str2  = "HelloWorld";  // 通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址
#define str3 "HelloWorld";  // 通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13332919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-16
下一篇 2023-07-16

发表评论

登录后才能评论

评论列表(0条)

保存