TCHAR p[] = _T("AB你我");
int a = sizeof (p);
int b = _tcslen(p);
第一次设置是宽字符 a是7,b是6
第二次设置是UNICODE a是10 b是4
这是为什么?我不明白他是怎么算的
求详细一点的解释啊,一步一步啊,我菜鸟,谢谢啦!!!
关于sizeof问题,这个程序输出结果怎么解释??求高手指教啊!谢谢了!!
1. sizeof(a)输出结果为12,因为字符串以'\\0'结束,'\\0'占一个字节。2. sizeof(p)32位系统输出为4字节(4字节=4*8位=32位),64位系统输出为8字节(8字节=8*8位=64位),。指针只是一个存放变量地址的一个变量 3. strlen(p)输出结果为11。strlen不区分是数组还是指针,就读到\\0为止返回...
C语言中,sizeof返回值代表什么意思?
sizeof是C\/C++中的一个操作符(operator),作用就是返回一个对象或者类型所占的内存字节数。返回值类型为size_t,在头文件stddef.h中定义 这是一个依赖于编译系统的值,一般定义为typedef unsigned int size_t;编译器林林总总,但作为一个规范,都会保证char、signed char和unsigned char的sizeof值...
sizeof的值为什么是1啊?
size 相当于TYPE与LENGTH的乘积,X1的类型为BYTE返回值1,LENGTH对DUP时返回返回值也是1,所以SIZE值为1。size是:取变量数据项长度算符。SIZE算符,汇编程序将回送分配给该变量的字节数,即 SIZE=LENGTH TYPE 例如:ARRAY DW 50 DUP(0) 则 SIZE ARRAY=50 2=100 要注意:对字符串变量求其长度,...
p=(LinkList)malloc(sizeof(LNode))能不能仔细的给我解释一下是什么意...
这个通常是开辟一个新的地址空间时用的,LinkList是指针的类型,就和int *p一样,此时p指向存放LinkList类型变量的地址空间,malloc是函数,参数为要开辟空间的大小,sizeof是求Lnode的大小,总的就是说开辟一个Lnode大小的新的空间,p指向该空间 ...
为什么返回值是1?
sizeof函数只是返回该类型的所占内存的字节数,加上*号,是个指针变量,指针所占内存为1个字节,所以返回1。去掉*号是字符型,占四个字节,所以返回4。
sizeof的返回值是什么类型?
6.sizeof后如果是类型必须加括弧,如果是变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。7.当适用了于一个结构类型时或变量, sizeof 返回实际的大小,当适用一静态地空间数组, sizeof 归还全部数组的尺寸。sizeof 操作符不能返回动态地被分派了的数组或外部的数组的尺寸 char str[20]...
sizeof(1+1.0)返回值不是4,为什么返回值类型是double,而不是float?
常量没有限定符情况下,编译器为确保有足够大的精度,按最大宽度字节转换。因此1+1.0看作double类型,你可以在1.0后面加个限定符f,则编译器便按float转换,返回4字节。
sizeof(string)为何返回4?
2) 基本类型是指前面提到的像char、short、int、float、double这样的内置数据类型,这里所说的“数据宽度”就是指其sizeof的大小。由于结构体的成员可以是复合类型,比如另外一个结构体,所以在寻找最宽基本类型成员时,应当包括复合类型成员的子成员,而不是把复合成员看成是一个整体。但在确定复合类型...
sizeof()是什么意思啊!
sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位)。char是c语言中基本类型,一般char类型占1个字节。sizeof(char)的结果是,1。sizeof:计算数据类型长度 char = 1 int 2,long 4 int a[6];sizeof (a) 2*6= 12 单位都是字节。float 4 ...
C语言sizeof('a')的返回值为什么是4,而不等于sizeof(char)
C语言里就是把字符常量当做了整型处理的.在c中'a'这类的是代表着'a'这类的ACSII的值..而在c++中'a'这类就代表一个字符常量 sizeof 'a'所以在VC++里,为 4 不为2 的原因.你注意看我第一句话..在c中这个字符常量是被当做一个整形来处理的 ...