CPP笔记20130922

来源:互联网 发布:淘宝卖家版注册 编辑:程序博客网 时间:2024/05/01 18:32

1、char *p = "Hello,world!" ;所需的存储空间为: 4字节指针变量所需的空间 + 字符串"Hello,world!"的12个字节另外再加上一个字节用来表示字符串结束的0。


2、对于char a[] = "Hello" ;这种声明方式, 编译器会根据"Hello"字符串的长度( 5个字符 + 一个结尾0 )来决定初始化时的数组大小。

3对于一个字符数组char a[10] ;编译器则会自动保留10个字节的储存空间

4、在C语言中的宽字符正是基于short型数据的, 这一数据类型在头文件WCHAR.H中的定义为:

typedef unsigned short wchar_t ;

char c = 'a';//字符型变量c就会被用值0x41进行初始化, 0x41也就是ASCII码中的'A'字符;

wchar_t c = 'A' ;//那么宽字符wchar_t变量c的值为0x0041, 学过汇编的朋友应该知道, 如果使用16位的CPU储存一个字, 将使用两个存储单元, 在这两个存储单元中, 低位字节放在低地址单元中, 高位字节则放在高地址单元中, 所以, 在这里, 处理器依然将从低位内存单元即低位字节开始处理字符, 'A'在内存中的顺序即为 0x41, 0x00


原创粉丝点击