编写程序测试C++中所有数据类型在内存中占用的字节数。

作者&投稿:钱凝 (若有异议请与网页底部的电邮联系)
在C++中,各种类型数据在内存中所占用的字节数由什么决定~

由操作系统决定,由编译器来决定。你写的语句,需要编译器控制,需要操作系统控制。

int main(void)
{
printf("size of char is :%d
",sizeof(char));
printf("size of short int is :%d
",sizeof(short int));
printf("size of int is :%d
",sizeof(int));
printf("size of long is :%d
",sizeof(long));
printf("size of float is :%d
",sizeof(float));
/*more...*/
getch();
}

    要获得一个类型在内存中占用的字节数(即其大小),需要使用sizeof运算符。

    用法:

        sizeof(表达式 或 类型)

    所以可用以下代码来实现:

#include <iostream>
using namespace std;

int main()
{
     cout << "short:" << sizeof(short) << endl;
     cout << "char:" << sizeof(char) << endl;
     cout << "int:" << sizeof(int) << endl;
     cout << "long:" << sizeof(long) << endl;
     cout << "float:" << sizeof(float) << endl;
     cout << "double:" << sizeof(double) << endl;
     
     return 0;
}

    注意,sizeof计算得到的值类型为size_t,一般是一个无符号数。sizeof的计算发生在编译时,C99中规定也可以在运行时进行计算。另外,sizeof不会计算括号中写的表达式的值,因此在sizeof的括号中写的表达式的任何副作用都不会被结算。

参考:sizeof百科

http://baike.baidu.com/link?url=nBcOs7q9NwjciqE2BZ_JOxlweroJHAddbdAibQSEYKVdcH_wGXcEuC0qJM_OZgbiFFHLweAl_znbru8ASzsbD_



#include <iostream>
using namespace std;

int main()
{
cout<<"short:"<<sizeof(short)<<endl;
cout<<"char:"<<sizeof(char)<<endl;
cout<<"int:"<<sizeof(int)<<endl;
cout<<"long:"<<sizeof(long)<<endl;
cout<<"float:"<<sizeof(float)<<endl;
cout<<"double:"<<sizeof(double)<<endl;
}

呵呵,这个也


C语言中编译 生成 调试 测试 运行各是什么意思有什么区别
C语言中编译 生成 调试 测试 运行的区别如下:区别一:从编译方面来看:编译依赖于编译器,英文是compile, vc中这一过程是将源代码转换成目标文件,如:obj文件,rc文件等。区别二:从生成方面来看:生成指的是连接的过程,英文是build,依赖于链接器。vc中在这一阶段将所有的目标文件和所有需要用到的...

如何编写C语言程序?
首先,你需要学会c语言的基础语法,那么你就可以写一些简单的程序了。想要进阶就要进一步深入学习算法等。其次,学习编程语言必须要有兴趣,兴趣不够很容易半途而废。格式的话,养成良好的缩进习惯有助于别人和自己更容易看懂代码。推荐一本书<<c primer plus>>写的很不错。你还需要安装ide,推荐安装vs20...

怎么测试Microsoft Visual Studio写的C程序?
1、打开vc++ 6.0编译器,选择“File”->“New”菜单,新建一个Project。2、在“New”对话框中选择“Projects”,并在其中选择“Win32 Console Application”(一个Win32控制台程序),然后在“Project name”中输入你要给控制台程序取的名字,在“Location”中选择控制台程序要保存的位置,默认文章是v...

写c语言,一个函数分别打印它的高字节和低字节,并编写主程序测试?
void prtbyte(unsigned short x){printf("High Byte:%x\\n",x>>8);printf("Low Byte:%x\\n",x&0xff);} int main(){unsigned short x;scanf("%hu",&x);prtbyte(x);return 0;}

用C语言编程序 写一个函数,判断输入年份是否为闰年,并编写主函数...
{if((year%4==0&&year%100!=0)||year%400==0)return 1;elsereturn 0;}main(){ int t; printf("输入年份为"); scanf("%d",&t); t=is(t); if(t=1) printf("%d是闰年",t); else printf("%d不是闰年",t);}输入年份为20161是闰年Press any key to continue ...

如何用循环语句写程序?( c语言)
清楚算法就可以很快写出:(1)只需输入2个变量n和sum,且sum=n+sum.(2)确定n的范围为n<=100 (3)循环体为 for(n=1;n<=100;n++)sum+=n;(4)根据C语言编辑规则写出程序 用for循环求:include<stdio.h> int main(void){ int n,sum=0;for(n=1;n<=100;n++)sum+=n;printf("1...

C语言程序设计(201803)测试求大佬帮忙!
选D;aa表示数组首地址,即&aa[0],而不是&aa[1]选B 选B;a[2]=3,a[2]+1=4,所以a[a[2]+1]=a[4]=5 选C;A错误,除非函数定义在调用语句之后的位置,才需要提前声明;B错误,函数返回值不一定要显示给出,没有返回值类型的默认为整型;C正确;D错误,在类的定义中,当构造函数...

c语言开发的6个步骤?
例如为在Windows环境中,用QT编译器运行程序可以用快捷键Ctrl+R生成程序并显示程序结构,如果用VisualStudio编译器则是Ctrl+F5编译运行。5测试和调试程序 程序能够正常运行那是极好的,但有时候它也可能运行不正确。因此,你应该进行检查,看程序是否存在错误。这个错误在计算机行话中称之为Bug。调试(...

C语言中什么叫测试?
测试一般分为:黑盒和白盒测试。黑盒就是指完全不知道程序内部如何运行的人来测试,按照程序功能来测试 白盒测试是指知道程序内部如何运行的,知道程序运行到哪里,运行的期望结果该是什么。测试主要是发现程序的漏洞,和修改不足的地方

C语言编程技术的优势和劣势?
C语言的单元测试非常困难,原因如下:内部函数通常都是静态的。也就是说,它们无法被外部文件调用。测试程序需要使用#include指令把源文件包含进来,或者使用#ifdefs在测试过程中移除这些静态函数。需要编写Makefile文件将测试程序链接到其中的部分依赖库或部分代码。需要使用测试框架,并把测试用例注册到框架上...

德化县14793732126: 编写程序测试C++中所有数据类型在内存中占用的字节数. -
端木视济舒: #include <iostream> using namespace std;int main() {cout<<"short:"<<sizeof(short)<<endl;cout<<"char:"<<sizeof(char)<<endl;cout<<"int:"<<sizeof(int)<<endl;cout<<"long:"<<sizeof(long)<<endl;cout<<"float:"<<sizeof(float)<<endl;cout<<"double:"<<sizeof(double)<<endl; }

德化县14793732126: 用VC++编写程序:测试当前系统中各种基本数据类型所占字节数 -
端木视济舒: 使用sizeof()函数 比如int型的就 sizeof(int) 返回占几个字节

德化县14793732126: 编程:测试基本数据类型的取值范围 -
端木视济舒: 只要在程序中使用头文件climits(C++中,在C中请用limits,h)就能做到了 下面列举部分的代码 (说明int、long、float在VC中都是4个字节的) #include<iostream> #include<climits> using namespace std; int main() { cout<<"int 型数据的长度: "...

德化县14793732126: 编写程序测试机器系统中各基本数据类型所占的字节…… -
端木视济舒: int main(void) {printf("size of char is :%d\n",sizeof(char));printf("size of short int is :%d\n",sizeof(short int));printf("size of int is :%d\n",sizeof(int));printf("size of long is :%d\n",sizeof(long));printf("size of float is :%d\n",sizeof(float));/*more...*/getch(); }

德化县14793732126: C/C++中数据类型为什么会有正数和负数范围 -
端木视济舒: 1. C/C++中所有的整数都用二进制补码表示.2. char型的正数范围是1~127而不是0~255;unsigned char型的范围才是0~255.3. char型的范围是-128~+127.因为整数域客观上存在负数、0和正数,所以C/C++的整数数据类型必须“适应”这种客观需要;unsigned数据只是在实际问题不涉及负数时定义的所谓“无符号数”,用以扩展有限的二进制位长表达更多的整数.

德化县14793732126: C++编写一个程序,输出基本数据类型长度 -
端木视济舒: 数据类型范围以宏定义的形式储存在limits.h这个头文件中 #include<iostream> #include<climits> using namespace std; int main(){cout<<"当前环境下的数据类型范围\n";cout<<"char :"<<CHAR_MIN<<'-'<<CHAR_MAX<<'\n';cout<<"short :...

德化县14793732126: 操作符sizeof用以测试一个数据或类型所占用的储存空间的字节数,请编写一个程序测试基本数据类型所 -
端木视济舒: #include <iostream> using namespace std; int main(){int a=10;cout<<"char:"<<sizeof(char)<<endl;cout<<"int:"<<sizeof(int)<<endl;cout<<"int变量:"<<sizeof(a)<<endl;cout<<"float:"<<sizeof(float)<<endl;cout<<"double:"<<sizeof(double)<<endl;cout<<"bool:"<<sizeof(bool)<<endl;return 0; }

德化县14793732126: 帮忙编个C++程序,谢谢
端木视济舒: 程序如下: #include <iostream> #include <string.h> using namespace std; class STR { char*s1,*s2,*s3; public: STR(char a[],char b[]) { s1=new char[strlen(a)+1]; s2=new char[strlen(b)+1]; strcpy(s1,a); strcpy(s2,b); } ~STR() { delete s1; delete s2; ...

德化县14793732126: 用C++编一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型、单精度型、双精度型 -
端木视济舒: 这个建议使用函数模版来做,例如: #include<iostream> using namespace std; template<typename T> //T可以用其他字母代替 T paixu(T*a,int n) //排序函数需要两个参数,数组的首地址和元素个数 {for(int i=0;i<n;i++){ //冒泡排序,升序for(int j...

德化县14793732126: C++测类型程序 -
端木视济舒: 通过判断小数点.可以用char类型将输入存储进char数组里,然后逐个比对数组元素,判断是否有".".

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网