C/C++結構體定義

在C語言和C++中,結構體定義是存在區別的,好比在C語言中定義結構體,首先是使用typedef。
ios

typedef struct Student{
    int age;
}Stu;

此時定義的結構體。可使用 struct Student stu1 來聲明變量。固然也可使用Stu stu1 來聲明,由於此時已經將struct Student 定義爲Stu。spa

#include <stdio.h>
typedef struct Student{
	int a;
}Stu;
int main()
{
  	 struct Student stu1;
  	 stu1.a = 17;
  	 printf("第一個:%d\n", stu1.a);
  	 Stu stu2;
  	 stu2.a = 18;
     printf("第二個:%d\n", stu2.a);
     return 0;
}

而此時C++ 只須要定義 struct Student就能夠了
io

#include <iostream>
using namespace std;
struct Student{
    int a;
}stu2;  //聲明結構體的同時聲明變量
int main() {
    struct Student stu1;
    stu1.a = 18;
    stu2.a = 19;
	cout  << "第一個:"<< stu1.a<<endl;
	cout  << "第二個:"<< stu2.a<<endl;
	return 0;
}

聲明的同時能夠直接聲明一個變量,好比stu2。而在後續的聲明中,能夠直接使用 struct Student 來聲明新的變量。若是不聲明這個結構體的名稱,則沒法聲明對於的變量,此處就不能聲明stu1class

#include <iostream>
using namespace std;
struct {
    int a;
}stu2;  //聲明結構體的同時聲明變量
int main() {
    //struct Student stu1;
    //stu1.a = 18;
    stu2.a = 19;
	//cout  << "第一個:"<< stu1.a<<endl;
	cout  << "第二個:"<< stu2.a<<endl;
	return 0;
}

未完待續
stream

相關文章
相關標籤/搜索