例:检查不同数据类型在内存中的所占的字节数
文件的预处理
#include <iostream>
#include <string>
using namespace std; //use the standard library namespace
struct Type
{
short int SHORT_INT;
bool BOOL;
int INT;
float FLOAT;
long int LONG_INT;
double DOUBLE;
char CHAR;
string STRING;
};
1.使用结构体变量名
int main()
{
void Print_Size(Type name);
Type name;
Print_Size(name);
return 0;
}
void Print_Size(Type name)
{
cout<<"short int "<<sizeof(name.SHORT_INT)<<endl;
cout<<"bool "<<sizeof(name.BOOL )<<endl;
cout<<"int "<<sizeof(name.INT)<<endl;
cout<<"float "<<sizeof(name.FLOAT)<<endl;
cout<<"long int "<<sizeof(name.LONG_INT )<<endl;
cout<<"double "<<sizeof(name.DOUBLE )<<endl;
cout<<"char "<<sizeof(name.CHAR )<<endl;
cout<<"string "<<sizeof(name.STRING )<<endl;
}
这种方法是值传递,一般很少使用这种方法。
2.指向结构体变量的指针作为函数参数
void Print_Size(Type *name)
{
cout<<"short int "<<sizeof(name->SHORT_INT )<<endl;
}
int main()
{
Type one;
Type *name = &one;
Print_Size(name);
return 0;
}
这种方法传递的也是值,不过这个值是指针。
3.结构体变量的引用变量作为函数的参数
void Print_Size(Type &name)
{
cout<<"short int "<<sizeof(name.SHORT_INT )<<endl;
}
int main()
{
Type name;
Print_Size(name);
return 0;
}
实参是结构体变量,形参是对应的结构体类型的引用。较为常用。
参考:
结构体类型数据作为函数参数(三种方法)