在c语言中怎样定义字符串

char'a';是定义单字符的那字符串怎么定义啊求解说具体点我就是想在c语言中把一句话用一个字母表示如果用if去转换的话就太麻烦了... char 'a' ; 是定义单字符的 那字符串怎么定义啊 求解
说具体点 我就是想在c语言中把一句话用一个字母表示 如果用if 去转换的话就太麻烦了
展开
 我来答
天云小店
2015-05-17 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:786万
展开全部

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


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

char str1[] = "HelloWorld";  // 通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符

char *str2  = "HelloWorld";  // 通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址

#define str3 "HelloWorld";  // 通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"
errrcac
2011-05-18 · TA获得超过1229个赞
知道小有建树答主
回答量:748
采纳率:0%
帮助的人:394万
展开全部
一维和二维的都可以;
一维的情况如下:
1,char string0[10];
2,char string1[]="prison break";
3,char string2[100]="michael scofield";
1句表示定义个长度为10的字符串,但未赋值,2句表示定义了一个字符数组string1,并进行初始化,使得其长度自动为13(字符串”prison break"中的字符个数加上结尾的'\0'),3句定义了一个有100个元素的字符数组string2,并初始化了17个元素("michael scofield";加上结尾的'\0');
二维的情况如下:
1,char string3[6][30];
2,char string3[6][30]=;
此句表示有6个字符串,每个字符串的长度为30,每个字符串的初始值与“joy","phosee","monses","chandele","ross","rather"相对应;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
锦瑟霏雨
2018-03-30 · TA获得超过2.6万个赞
知道小有建树答主
回答量:154
采纳率:100%
帮助的人:4.3万
展开全部

在c语言中定义字符串:

  1. C语言中用字符型CHAR来表示存储字符,没有C++里面的可以单独的字符串类型String;

  2. 所以C里面使用字符数组和字符指针来实现字符串功能;

  3. C的字符数组只能在定义时一起赋值,以后只能给单个元素一一赋值;

  4. char string0[10];

  5. char string1[]="prison break";

  6. char string2[100]="michael scofield";

  7. 1句表示定义个长度为10的字符串,但未赋值,2句表示定义了一个字符数组string1,并进行初始化,使得其长度自动为13(字符串”prison break"中的字符个数加上结尾的'\0'),3句定义了一个有100个元素的字符数组string2,并初始化了17个元素("michael scofield";加上结尾的'\0')。

C语言本身是没有设置一种类型来定义字符串变量的,字符串的存储完全依赖于字符数组,但字符数组又不等于是字符串变量。在字符型一维数组存放字符串,并规定以字符'\0'作为字符串结束标志。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

2015-09-10 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
C没有字符串定义,字符串是拆开放入char数组里面的。
使用字符数组来实现,不过要预留一个位置给'\0', C中的字符串以'\0'结束。
举例说明:
char s[5]="ABCD";
字符数组s最多能存储一个含有个字符的字符串(串结束符'\0'也需要占一个字节)。
char ch[21]="I am happy";
以上没有明确写'\0',编译器会默认自动加一个'\0'。
也可以通过scanf("%s",ch); (以空格为结束标志)
或gets(ch); (以回车为结束标志)
在程序运行时通过键盘输入字符串。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
路过者天蝎96
2019-10-20 · TA获得超过3744个赞
知道大有可为答主
回答量:3573
采纳率:79%
帮助的人:2484万
展开全部

一样的,但是要写成6,因为字符串末尾还有‘\0’,否则它装不下

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(12)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式