char c[10]={"China"};到底占几个字节?五个,六个还是十个?
c[10]占10个字节,在内存中这样显示‘C’,‘h’,'i','n','a','\0','\0','\0','\0','\0'。而如果仅仅是“China”的话,因为它是为字符串,系统会在字符串末尾自动添加1个字符串结束标志“\0”,所以“China”占6个字节。
字符数组c的大小只和c[10]中的10有关,定义了大小为10个char,char大小为一个字节,所以c的大小是10个字节。
扩展资料:
一个字节也可以表示一系列二进制位。在一些计算机系统中,4 个字节代表一个字,这是计算机在执行指令时能够有效处理数据的单位。一些语言描述需要2个字节表示一个字符,这叫做双字节字符集。一些处理器能够处理双字节或单字节指令。字节通常简写为“B”,而位通常简写为小写“b”,计算机存储器的大小通常用字节来表示。
参考资料来源:百度百科-字节
字符串常量"China“占六个字节,分别是字符'C', 'h', 'i', 'n' 'a'5个字符和结束符'\0'.共六个。字符数组c的大小只和c[10]中的10有关,定义了大小为10个char,char大小为一个字节,所以c的大小是10个字节。这个式子进行了初始化赋值。c[0] = 'C', c[1] = 'h',直到c[5] = '\0'。
扩展资料:
一个字节通常8位长。但是,一些老型号计算机结构使用不同的长度。为了避免混乱,在大多数国际文献中,使用词代替byte。在多数的计算机系统中,一个字节是一个8位长的数据单位,大多数的计算机用一个字节表示一个字符、数字或其他字符。
一个字节也可以表示一系列二进制位。在一些计算机系统中,4 个字节代表一个字,这是计算机在执行指令时能够有效处理数据的单位。
一些语言描述需要2个字节表示一个字符,这叫做双字节字符集。一些处理器能够处理双字节或单字节指令。字节通常简写为“B”,而位通常简写为小写“b”,计算机存储器的大小通常用字节来表示。
字符数组c的大小只和c[10]中的10有关,定义了大小为10个char,char大小为一个字节,所以c的大小是10个字节。
这个式子进行了初始化赋值。c[0] = 'C', c[1] = 'h',直到c[5] = '\0';
c[6] - c[9]实际上没有操作。但是这个和内存大小已经没有关系了。
一般习惯 char c[10]; memset(c, 0 ,sizeof(c));再赋值。
char c[10] = "China"; sizeof (c) =10; strlen(c)= 5;