char a[]=""这个定义是说a的里边为空字符?但给他赋值时候,它最大的能存多少为呢?

只知道,char a[]={'a','b'},或者char a[]="ab",本人初学者,求详细知道啊,谢谢

char a[]="ab";
这种初始化是
char a[]={'a','b','\0'}; 这种的简化形式
字符串末尾还有个0, 所以大小是字符串长度再加1
char a[]=""; 这个的a[]的大小根据""空字符串大小确定, 而空字符串是1个字节的
所以它只能存1个字符
char a[]={'a','b'} 这个存的ab只是字符数组, 没有结束的0,不是字符串, 数组大小2
如果用它做字符串处理的话, 会一直往后找, 知道遇到0, 逻辑上是错的
要用它存的话, 只能存长度为1的字符串
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-16
char a[]=""这个是初始化字符数组,大小只有1个元素。所以占用内存为1个字节。数组里只有一个元素。所以赋值时只能a[0] = 'X';
第2个回答  2011-08-11
类型 数组名[]
这是一个一维数组
有多少个[]就是几维数组
通常 char a='a';char类型只能有一个字符
但是char a[]="aaaaa";或char a[]={'a','a','a','a','a','\0'};是一样的
char a[]的[]也可以写上数字,表示他能写多少个元素
第3个回答  2011-08-11
char a[]=""; //这个语句是错误的。因为这不能确定a的元素个数。

char a[]="hello"; //这个语句才是正确的。因为这可以确定a的元素个数为6。

char a[]=""这个定义是说a的里边为空字符?但给他赋值时候,它最大的能...
char a[]=""; 这个的a[]的大小根据""空字符串大小确定, 而空字符串是1个字节的 所以它只能存1个字符 char a[]={'a','b'} 这个存的ab只是字符数组, 没有结束的0,不是字符串, 数组大小2 如果用它做字符串处理的话, 会一直往后找, 知道遇到0, 逻辑上是错的 要用它存的话, 只能存...

c语言中char类型如何存放多个字符
char只能存放一个字符,你可以定义一个数组来单个存放 非要存放多个字符请用字符串 如果是要存放单个汉子,请用char a[2]="的"来存放 因为一个汉字占2个字节

...char a[2]中的2是什么意思 是指能输入的最大字符数还是什么?最多能...
" };或者char a[20]={ 'H','e','l','l','o','\\0' };这时字符串占用6个数组元素,但字符串长度为5,如果你用strlen语句计算的长度也为5,你最多可在这个数组中保存长度为19的字符串,需要自己在末尾添加0或'\\0',前面语句char a[20]={ "Hello !" };是编译器自动帮你加了结尾符...

在c语言中char a[]={'a','b','c'}和char a[]="abc"有什么区别 它们各在...
char a[]={'a','b','c'} 这是一个字符数组,占3个字节。 char a[]="abc" 则不同,它是一个字符串,最后还有一个'\\0'结束符,占4个字节

怎么给char a[]赋值
s是指针变量,本身是个地址值,将一个地址值赋值给字符数组,是不会成功的~~一般用字符指针保存字符串,你可以这样用定义char a[]="gsdg";char *p=a;然后通过指针来操作。。。

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

char *a[]="abcd";为什么是错了?
char指针)所指向的内容(w字符).char * a[10] 表示限定这个数组最多可存放10个元素(char指针), 也就是说这个数组占用10*8 = 80字节.楼主你要定义的是数组,所以你要了解一下数组的赋值方式,char *a[]={"ddasd"};而不是char *a[]="abcd";希望对你有帮主,望采纳,谢谢。

char a[]="abcd"
关于LZ的问题:a本身的值确实只是一个const char*类型的地址。但C++中cout是被定义好的一个类的对象,它和运算符“<<”连用时<<发生重载,语义被解释为输出<<右端指示的字符串。具体是通过运算符重载实现,类似于调用函数,只是右操作数作为地址被传入这个函数,然后函数内解析地址进行输出。注意重载是...

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

c语言中字符最大是多少?
1个字节:最大0xFF = 255(存储类型byte和char) 2个字节:最大0xFF FF = 65535(存储类型shot int) 4个字节:最大0xFF FF FF FF= 4294967295(存储类型int 、long) 8个字节:最大0xFF FF FF FF FF FF FF FF= 18446744073709551615(存储类型long long) 十六进制(英文名称:Hexadecimal),是计算机中数据的一种...

相似回答