代码二运行的结果如下图所示:

  说明其是在一原有的规则上面字符串变量单独计算;

  如下面代码三:

// 结构体占内存空间的判断.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "String.h"
#include "iostream"
using namespace std;

 

int _tmain(int argc, _TCHAR* argv[])
{
 typedef struct STUDENT_INFO
 {
  char num;
  int age;
  float salary;
  string name;
  string name1;//相对于代码二此处又多定义一个字符串变量
 }*LP_STUDENT_INFO;

 cout<<"申明的结构体占有的内存空间大小为:"<<sizeof(STUDENT_INFO)<<"B字节"<<endl;

 string stuName;
 cout<<"字符串变量占有的固定内存空间大小为:"<<sizeof(stuName)<<"B字节"<<endl;

 return 0;
}

  代码三的运行结果如下图所示:

  注意结构体中的变量在申明的时候不可以被初始化;