计算机c语言中 char s[4][5]={"ABCD"};什么意思

如题所述

这个应该是个二维字符数组。
也可以看成一维字符串数组。

它初始化了字符串数组的第一个元素 s[0],相当于

s[0][0] = 'A';
s[0][1] = 'B';
s[0][2] = 'C';
s[0][3] = 'D';
s[0][4] = 0;
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-13
这是一个字符型数组,二维数组s存放了五个字节数据,除了ABCD外还有一个字符串结束符 '\0'

C语言中char[][5]={"abcd"}究竟是一维数组还是二维数组?
从概念上讲是二维的,二维数组才有行列概念,而且二维数组是按行存储的,也可以将二维数组理解为是有行数个一维数组组成,如a[0][8],可以理解为是有一行的二维数组,数组名为a,只不过个只有一行,也可以理解为是一维的,数组名为a[0]。如果非要选择,便是二维的 ...

c语言里面 char s[]=“abcde”是什么意思啊
定义一个字符串数组,并初始化为字符串“abcde”这个字符数组大小为6,字符串长度为5,多出的1用来保存字符串结束符'\\0'该字符输出名为s

用C语言编写一个简单的打字母游戏,给出基本思路及完整程序。_百度知 ...
char s[5]; \/\/全局变量***字符型的分数struct player_ \/\/自定义的结构体,并顺便定义一个结构体变量 {char name[20];int score_;}player[11];\/***函数声明***\/void record_(); \/\/记录彼此成绩函数void welcome( ); \/\/欢迎界面函数void instructions( ); \/\/游戏说明界面函数void gane (int rank2);...

C语言: 为字符串赋值语句如下: char s[5] = {'G','O
是的,字符串要以"\\0" 结尾的,否则会造成读越界,在一个大一点程序中就会造成段错误

C语言中char* s=" ABCDE";
C是正确的 A. char s[5]={"ABCDE"}; “ABCDE"占用空间是6字节,超出s的长度了 B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′}; 没有字符串结束的终结符,s不能当字符串使用 C. char *s;s="ABCDE"; 正确 D. char *s;char a; scanf("%s",&s); s...

C语言问题:定义char *str[]={“12345”,“abcde”};以下正确的叙述是...
只有B是正确的,选B。A——char *str[]写法说明str是个数组,它的每个元素都是char *型指针。所以str是指针数组而非指针。C——这个表述是二维数组的解释,而str是个一维数组。D——同C,属于二维数组的表述。

c语言中的char * s是什么意思
char是容纳单字符的一种基本数据类型,不能存储汉字,(一个汉字占2字节)存储字符串用string,其实String就是一个char的数组,不过它当中的元素多一个‘\\0'在数组的最后,表示结束例如字符串abcdchar a[]={'a','b','c','d','\\0'};是等价的。而且一个变量只能存一个字符;如果要存多个则...

c语言:char a="ABCD"; 这个语句是对的还是错的?为什么
当然是错的,根据标准C的规定,一个char类型的变量只有一个字节的大小,就是可以放一个ASCII字符。像你这样要放入多个字符 只能放入一个连续的内存空间 如:char a[]= "ABCD";char p = "ABCD";

c语言:char a="ABCD"; 这个语句是对的还是错的?为什么
这是错的。编译就不能通过。char a中只能保存一个字符。而"ABCD"是一个字符串,它由5个字符组成(外加一个串结束符'\\0')。

在c语言中 char buf[ ]="1234567890ABCD" 代表什么
是一个字符数组。初始化为字符串形式则末尾有隐含的'\\0'字符。定义字符数组时同时初始化,则可以不用用户指明字符数组长度,由系统根据你初始化的长度给定。

相似回答