\n’是两个字节。
1、如果是char 型,那么是占用1个字节,8位。如果是string型,应该是两个字节,16位,因为末尾还有个\0字符。
比如:
char c = 'a';//它占用一个字符
char c[] = "a";//占用两个。
char c[] = "abcde";//占用4+1 = 5 个,结尾有一个'\0'
2、数字:
从小到大分别为:short、int、float、long、double。
字节为:1个、2个、4个、8个、8个
位数为:8位、16位、32位、64位、64位
3、汉字
一个汉字占用两个字节,16位。比如:中国,就占用4个字节,例如:
char c[] = "中国";//占用4+1 = 5个字符。
扩展资料
1、由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。
2、不指定 signed 或者 unsigned 的 char 类型,在C语言中是未定义的,若考虑不同的编译器,我们不能确定 char 类型到底是有符号的,还是无符号的。
怎么说呢。\n本身确实是一个字符。但是请看下面的程序
(运行环境WINDOWS XP+SP2+VC6)
#include "stdio.h"
void main()
{
FILE *fp1,*fp2;
fp1=fopen("C:/a.txt","w");
fp2=fopen("C:/b.txt","w");
fprintf(fp1,"abc");
fprintf(fp2,"abc\n");
fclose(fp1);
fclose(fp2);
}
运行此程序后,再打开“我的电脑”,进入C盘,分别查看a.txt和b.txt文件大小,你会发现分别是3字节和5字节。
我个人理解,\n虽然占1字节,但因为回车键实际上是输入了
\n和\r两个字符,而且好像Unix和Linux中就要求\n\r连用是吧?所以,某些编译器(比如VC),就会将\n处理成\n\r,变成了2个字节。
有不对的地方还请大虾指正。
得四字节是因为你在打开文件的时候没有用二进制方式
fp1=fopen("C:/a.txt","w");这样你回车就是两个字节
把"w"改成"wb"看看。
\r回车
\n换行
ASCLL码每个字符就是一个字节,因为8位256个组合可以表示所有的ASCLL字符。这个是约定,没有什么原理的。
char c = 'a';//它占用一个字节
字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。比如:0x01, 0x45, 0xFA。
字符是指计算机中使用的字母、数字、字和符号,包括:1、2、3、A、B、C、~!·#¥%……—*
1 byte 因为他是一个字符,前面有个\ 只是一种表示方法;比如'\362‘是 一个八进制整数是同一道理,\’表示字符 ’,为了区别而已