C/C++结构体
标签:return 声明 void def 结构体 type tst 存储 code
结构变量的声明和初始化
#include int main()
{
struct {
int age;
int height;
} x, y = {29, 180};
// 结构的成员在内存中按照声明的顺序存储
x.age = 30;
x.height = 170;
return 0;
}
结构类型——结构标记
#include int main()
{
struct struct_name {
int age;
int height;
} x; // 同时声明了【结构标记struct_name】和【结构变量x】
struct struct_name y; // 纯C时必须加上struct
struct_name z; // C++编译器则不必加struct
return 0;
}
结构类型——typedef
#include int main()
{
typedef struct {
int age;
int height;
} struct_name;
struct_name x;
return 0;
}
C风格结构体
传递指向结构的指针来代替传递结构可以避免生成副本。
#include
#include
#include using namespace std;
struct _Student {
char* name;
int age;
int score;
};
typedef struct _Student* Student;
Student newStudent(char* name, int age, int score)
{
Student result = (Student) malloc(sizeof(struct _Student));
result->name = name;
result->age = age;
result->score = score;
return result;
}
void printStudent(Student x)
{
printf("%s %d %d\n", x->name, x->age, x->score);
}
int main()
{
Student a, b;
a = newStudent("asd", 19, 100);
b = newStudent("dad", 12, 110);
printStudent(a);
printStudent(b);
return 0;
}
C/C++结构体
标签:return 声明 void def 结构体 type tst 存储 code
原文地址:https://www.cnblogs.com/xkxf/p/14436801.html
文章来自:
搜素材网的
编程语言模块,转载请注明文章出处。
文章标题:
C/C++结构体
文章链接:http://soscw.com/index.php/essay/58386.html
评论