分享
 
 
 

sizeof第二次认识

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

开始我的问题是

char intArray[]="wo shi shui";

int len=sizeof intArray;

cout<<len<<endl;

输出的是12

char *intArray="wo shi shui";

int len=sizeof intArray;

cout<<len<<endl;

输出的是4

为什么一个输出的是12,一个输出的是4.因为我条件反射地认为可以通过sizeof和一个字符串的指针去获得该字符串的长度,但是情况就象上面的出现的那样,用指针是不能获得字符串的长度的,只能返回该指针的字节数.

分析其原因:个人认为 指针是一个变量,不能用sizeof去获得一个变量的长度,所以这样只能获得给变量 类型的长度.

下面是MSDN上的 列子

sizeof :The sizeof operator yields the size of its operand with respect to the size of type char

When the sizeof operator is applied to an object of type char, it yields 1. When the sizeof operator is applied to an array, it yields the total number of bytes in that array, not the size of the pointer represented by the array identifier. To obtain the size of the pointer represented by the array identifier, pass it as a parameter to a function that uses sizeof

#include <iostream>

size_t getPtrSize( char *ptr )

{

return sizeof( ptr );

}

using namespace std;

int main()

{

char szHello[] = "Hello, world!";

cout << "The size of a char is: "

<< sizeof( char )

<< "\nThe length of " << szHello << " is: "

<< sizeof szHello

<< "\nThe size of the pointer is "

<< getPtrSize( szHello ) << endl;

}

Output

The size of a char is: 1

The length of Hello, world! is: 14

The size of the pointer is 4

上面的都是引用MSDN上的

通过sizeof的操作可以获得关于char型的操作数的大小.

当sizeof用于操作char对象它返回1,当sizeof应用于数组它返回整个数组的字节数,而不是用于定义数组指针的打下(即不是指针类型的的字节数,在32位操作系统指针的字节树是4),用指针的作为参数可以获得指针的大小.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有