字符串和字符的区别"A"与'A'

假定你要把一个字符常量初始化为字母 A
可使用下列初始化把字符 A 赋给 grade;
char grade = 'A';
单引号中的一个字符是 C 的一个字符常量,编译器遇到‘A’时会将其转换为相应的 编码值,其中单引号是必不可少得且不可用双引号替代。
继续看

char broiled; //声明一个 char 变量
broiled = 'A'; //可以
broiled=A; //不可以!T被看作一个变量
broiled = "A"; // 不可以,“T”被看作一个字符串```


如果不使用单引号,编诇器会将 A 规为一个变量名;如果使用双引号,编诇器将其 规为一个字符串。

那么字符和字符串的内在区别在哪里?

#C规定以字符'\0'作为字符串结束标志# 
'\0'是一个ASCII码为0的字符(当然它并不是字符'0'),它不会引起任何控制动作,也不是一个可显示的字符。而字符串"A"实际包含2个字符:'A'和'\0'

那么如果我们想用字符串 来赋值变量呢?

C语言中没有专门的字符串变量,如果要将一个字符串存放在变量中,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。

定义: char c[10]

字符型与整型互相通用,因此 int c[10] 也可以定义字符数组。但由于两种类型分配字节不同, 用整型来定义会浪费空间, 另外这样定义实际意义也不大, 只是为了说明其合法性。

 最简单的方法即逐个赋值: char c[10]={'I', ' ', 'a', 'm', ' ', 'h', 'a', 'p', 'p', 'y'}; 10个字符分别赋绐c[0]到c[9]10个元素。

初值个数小于数组长度,则只将这些字符赋绐数组中前面的元素,其余元素自动定为空字符(即'\0')。

可以用字符串常量来初始化字符数组;

char c[]="I am happy";    #*注意此时数组的长度不是10,而是11,因为系统自动加上了'\0'结束符*#

####  字符数组的输入输出 

-  逐个字符输入输出。用格式符"%c"输入或输出一个字符。

- 字符数组的输出
先来看一段代码的表现

char * a = "aaa";
char b[] = {'a','a','a','\0','a','a','a','\0'};//中间有结束符
char c[] = {'a','a','a','a','a','a'};//无结束符
char d[] = {'a','a','a','a','a','a','\0'};//有结束符

printf(" a = %s \n b = %s\n c = %s\n d = %s\n",a, b,c,d);
结果:

a = aaa
b = aaa
c = aaaaaa\232�
d = aaaaaa

那么可以得出一些结论


1.  将整个字符串一次输入或输出。用"%s"格式符,意思是输出字符串(String)。例如:

char c[]="china";
  printf("%s", c);```

  1. 如果一个字符数组中包含一个以上'\0',则遇第一个'\0'时输出就结束。
  2. 无结束符时,可能会打出奇奇怪怪的东西(取决于内存上的内容,同样遇到\0结束输出), **所以一个受控的字符串应该加入结束符 **
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容