当前位置:首页 > 前端设计 > 正文

字符串常量123在内存中的字节数 字符串常量和字符常量有什么区别

字符串常量123在内存中的字节数 字符串常量和字符常量有什么区别

各位老铁们,大家好,今天由我来为大家分享字符串常量123在内存中的字节数,以及字符串常量和字符常量有什么区别的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望...

各位老铁们,大家好,今天由我来为大家分享字符串常量123在内存中的字节数,以及字符串常量和字符常量有什么区别的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

电脑内存单位大小的换算--字节

字节(byte):一个字节由八位二进制数字组成(1byte=8bit)。字节是信息存储中最常用的基本单位。计算机的存储器(包括内存与外存)通常也是以多少字节来表示它的容量。常用的单位有:K字节1K=1024byteM(兆)字节1M=1024KG字节1G=1024M—字节(Byte):通常将可表示常用英文字符8位二进制称为一字节。一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间.符号:英文标点2占一个字节,中文标点占两个字节.一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,如一个ASCII码就是一个字节,此类单位的换算为:1千吉字节(TB,KiloGigaByte)=1024吉字节1吉字节(GB,GigaByte)=1024兆字节1兆字节(MB,MegaByte)=1024千字节1千字节(KB,KiloByte)=1024字节1字节(Byte)=8位(bit)1.2字符,字节,字符串理解编码的关键,是要把字符的概念和字节的概念理解准确。这两个概念容易混淆,我们在此做一下区分:概念描述举例字符人们使用的记号,抽象意义上的一个符号。'1','中','a','$','¥',……字节计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。0x01,0x45,0xFA,……ANSI字符串在内存中,如果“字符”是以ANSI编码形式存在的,一个字符可能使用一个字节或多个字节来表示,那么我们称这种字符串为ANSI字符串或者多字节字符串。"中文123"(占7字节)UNICODE字符串在内存中,如果“字符”是以在UNICODE中的序号存在的,那么我们称这种字符串为UNICODE字符串或者宽字节字符串。L"中文123"(占10字节)由于不同ANSI编码所规定的标准是不相同的,因此,对于一个给定的多字节字符串,我们必须知道它采用的是哪一种编码规则,才能够知道它包含了哪些“字符”。而对于UNICODE字符串来说,不管在什么环境下,它所代表的“字符”内容总是不变的。

字节长度的计算公式

1千吉字节(TB,Terabyte)=1024吉字节

(2的40次方字节)

(1TB=1024GB)

1吉字节(GB,Gigabyte)

=1024兆字节

(2的30次方字节)

(1GB=1024MB)

1兆字节(MB,Megabyte)

=1024千字节

(2的20次方字节)

(1MB=1024KB)

1千字节(KB,Kilobyte)

=1024字节

(2的10次方字节)

1字节(Byte)

=

8位(bit)

字符

人们使用的记号,抽象意义上的一个符号。

'1',

'中',

'a',

'$',

'¥',

……

字节

计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。

0x01,

0x45,

0xFA,

……

ANSI

字符串

在内存中,如果“字符”是以

ANSI

编码形式存在的,一个字符可能使用一个字节或多个字节来表示,那么我们称这种字符串为

ANSI

字符串或者多字节字符串。如,"中文123"

(占7字节)。

若有定义:char c=\123;则变量c中包含的字符个数为什么它的存在占多少个字符

字符个数是1个。

因为\123是转义字符,即'\123'只代表一个ASCII值为8(十进制)的字符。\123'中第一个1表示是以八进制计算的。

C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,后面的字符,都不是它本来的ASCII字符意思了。

Char a[]="\123abc";则数组a包含几个字符

包含4个字符,\123中123为八进制ASCII码,为“S”,若语句是char*a=''\123abc;则char*a实际上等于Sabc得是char*a吧,chara只能赋一个字节,前面的是\还是/?

c语言字符串讲解

1.1、什么是字符串常量

C语言虽然没有字符串类型,但是C语言提是存在字符串这个概念的,也就是字符串常量:以NUL字节结尾的0个或多个字符组成的序列。字符串常量是不可被修改的,一般用一对双引号("")括起的一串字符来表示字符串常量,如:

"Hello!"、"\aWarning!\a"、"123abc\n"、""

字符串常量可以为空,如""就是一个空的字符串常量,但是即使为空,还是存在一个终止符NUL的。(在C语言中,常用转义字符\0来表示NUL)

1.2、字符串常量与指针

字符串常量与指针关系密切,因为字符串常量的值,实际上表示的是存储这些字符的内存空间的地址,更准确地说是字符串常量中第1个字符的地址,而不是这些字符本身。因此,在C语言中是不能直接进行字符串赋值的(因为没有字符串类型嘛)。在C语言中,常通过声明一个指向char类型的指针并将其初始化为一个字符串常量的方式来访问一个字符串:

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

最新文章