c语言字符串和字符常量占用内存大小怎么看

数组a “ABC”
数组b ‘A’,‘B’,‘C’
这2个数组占用内存怎么算的

char A[]="ABC";//这是用字符串符初值,在C语言中,字符是以'\0'结尾的,因此,A的长度应该为4;
而:char B[]={'A','B','c'};由只是普通的数组,其内有三个字符,其长度为3;
多说一句:在拿不准到底是多少的时候,可以用sizeof()来看一下!如:printf("sizeof(A)=%d,sizeof(B)=%d",sizeof(A),sizeof(B));
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-03-24

如果初始化的时候没有指定数组长度,采用自动推算的话,数组大小和字符串字面量是一样的。

使用sizeof运算符获取数组的大小。

例如

char arr[] = "Hello";

sizeof arr == sizeof "Hello" ,就是6.

而因为字符常量的类型是int,所以sizeof 'A' == sizeof(int)。

本回答被提问者和网友采纳
第2个回答  2013-08-23
sizeof();

c语言字符串和字符常量占用内存大小怎么看
char A[]="ABC";\/\/这是用字符串符初值,在C语言中,字符是以'\\0'结尾的,因此,A的长度应该为4;而:char B[]={'A','B','c'};由只是普通的数组,其内有三个字符,其长度为3;多说一句:在拿不准到底是多少的时候,可以用sizeof()来看一下!如:printf("sizeof(A)=%d,sizeof(B...

c语言字符串包含字符个数怎么看
c语言字符串包含字符个数, 可以用 strlen() 测定字符串长度,用 sizeof() 测定字符串占用内存多少字节。c语言字符串中,可以含有 “转义字符”(escape sequence),例如: \\r \\n \\t \\\\ 八进制数码 \\0123 十六进制数码 \\xab, 不可见字符串结束符 \\0 等。所以不能以打字时按了几次键...

C语言中字符常量与字符串常量在内存中所占字节的差异是什么?
字符常量,所占内存字节数就是字符个数个字节;字符串常量,所占内存字节数比字符串实际字符个数多了1个字节,因为C格式的格式字符串在后面加了一个结束标志位“'\\0'”。

[c语言]怎么判断数字或字母占多少个字符、字节?字符和字节有什么联系...
字节是指一个数据所占内存大小的单位。'\\077'是转义字符,只能算一个字符,一个字符占一个字节。3会默认为一个整型数据,你同过sizeof(int)查询,会发现int型数据占两个字节,而'3'用单引号括起来,属于一个字符常量,所以占一个字节。

C语言字符串常量,字符数组占内存大小问题?
用函数求的长度其实就是字符串长度,而非占内存大小。因此长度是4,占内存是5,最后有个'\\0'做结束符,不是'\\n'。字符数组如果是字符串就是这规则,否则不是

C语言里,字符型常量占多大内存空间?
0 - 126 (十进制)。 用一个字节表示。所以,字符型 char 变量,占一个字节。C语言中的常量一般分为两类: 整型常量和浮点数常量。整型常量的默认数据类型是 int 类型( 即有符号整型, 占四个字节 )。字符型常量,不属浮点数常量,而归属于 int 型。所以,字符型 char 常量占四个字节。

字符型量字符串常量
通常,字符串常量会在内存中额外占用一个字节存储结束标志 "\\0",如 "C program" 占用的字节数为 "C program\\0"。符号常量是C语言中的另一种常量表示形式,通过#define预处理命令定义,如 #define PI 3.14159。这种宏定义会将标识符替换为常量值,如在程序中,PI将被替换成3.14159。符号常量不...

字符常量与字符串常量的区别是什么
字符常量有两种类型,包括普通字符和特殊转义字符,后者通过反斜杠表示特殊含义。而字符串常量与字符数组相关,C语言中没有专用的字符串变量,存储字符串通常需要使用字符数组,如"char a[10]="love"。总的来说,字符常量和字符串常量在C语言中扮演着不同的角色,理解它们的差异对于编程至关重要。

字符常量与字符串常量有什么区别?
字符串常量是以双引号引起来的数据,比如说"12343" "chinere" "这是一个字符串常量"等等 是以'\\0'为结束标志的;也是就是说比如"1234"其实长度是5,因为其实还有一个隐藏的'\\0';而字符常量是单引号引起来的数据,比如说'a' '7' '百';在C语言中字符的长度是一个字节,所以 如果...

C语言中的字符常量与变量
在C语言的世界里,字符常量和变量是编程基石。让我们首先来看一下字符常量,它们是编程中的"Hello, World!"。在字符串输出中,"HelloWorld"需要被双引号包围,而单个字符,如'a',则用单引号标识。但切记,像'ab'这样的组合是不允许的,正确的写法是"ab"。尝试使用printf的%c占位符输出字符时,你...

相似回答