我搞不懂C语言里的字节怎么算?
可以用C语言提供的sizeof函数计算对象所占的字节数,用printf函数输出结果。
具体使用方法可以通过如下实例来进行说明:
int a; // 定义一个int类型变量char b[]="abcd";char *c="abcd";struct student{ int num; char name[10]; int age;}stu;printf("%d", sizeof(a)); // 输出变量a所占的字节数printf("%d", sizeof(b)); // 输出数组b所占的字节数printf("%d", sizeof(c)); // 输出指针c所占的字节数printf("%d", sizeof(stu)); // 输出结构体stu所占的字节数
c语言文字所占字节数?
c语言文字年
(1)struct结构体变量大小等于结构体中的各个成员变量所占内存大小总和,union共用体变量大小等于共用体结构中占用内存最大的成员的内存大小; 联合体中占用内存空间最大的字段加上填充字节(对齐字节后所需字节数)。
(2)枚举类型,指一个被命名的整型常数的集合。即枚举类型,本质上是一组常数的集合体,只是这些常数有各自的命名。枚举类型,是一种用户自定义数据类型。
枚举变量,由枚举类型定义的变量。枚举变量的大小,即枚举类型所占内存的大小。由于枚举变量的赋值,一次只能存放枚举结构中的某个常数。所以枚举变量的大小,实质是常数所占内存空间的大小(常数为int类型,当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节),枚举类型所占内存大小也是这样。
(3)指针其实就是地址, 与它所指的基类型无关, 更与C语言无关, 只与机器有关. 如果你的机器是16位寻址的, 那指针就是16位的,2个字节, 如果是32位寻址的, 指针也是32位的,4个字节.如果寻址是64位的,指针也是64位,8个字节。
(4)
类型16位32 位64位char111short int222int244unsigned int244float444double888long448long long888unsigned long448
C++语言字节长度什么意思?
长度就是有几个字符(在第一个'\0'字符之前)
字节就是这个字符数组共有几个元素,比如:
char a[]="abc\0bcd";
则它的字符串长度是3(在第一个'\0'之前有abc三个字符),a数组共占用了8字节。
"\n\\\407as1\"\xabc"
如果不考虑其中的转义字符方面的错误,字符串长度是8,占9字节。分别是:
\n
\\
\407(这个转义字符运用有错误,ASCII表中没有这个字符,八进制407已经超出了ASCII字符的范围)
a
s
1
\'
\xabc(和\407有同样的错误)

