struct Book
{
char name[20];//书名
short price;//定价
};
//书
struct Book
{
char name[20];//书名
short price;//定价
};
int main()
{
struct Book b;//创建一本书
strcpy(b.name, "C语言");//字符串拷贝 把"C语言"拷贝到name数组中
b.price = 55;
printf("%s\n", b.name);
printf("%d\n", b.price);
return 0;
}
输出结果:
typedef struct Book
{
char name[20];//书名
short price;//定价
}Book;//重命名
int main()
{
struct Book b;//创建一本书
Book b1;
return 0;
}
struct Book
{
char name[20];//书名
short price;//定价
}b4,b5,b6;//全局变量
struct B
{
int a;
char c;
};
struct S
{
int a;//标量
char arr[20];//数组
int* p;//指针
struct B sb;//结构体
}
struct B
{
int a;
char c;
};
struct S
{
int a;//标量
char arr[20];//数组
int* p;//指针
struct B sb;//结构体
};
int main()
{
struct B b = { 20, 'w' };//定义初始化
struct S s = { 100, "HEHE", NULL, { 33, 'q' } };//定义初始化
printf("%d %s %d %c\n", s.a, s.arr, s.sb.a, s.sb.c);
return 0;
}
输出结果:
struct Stu
{
char name[20];
int age;
};
void print1(struct Stu stu)
{
printf("%s %d\n", stu.name, stu.age);//结构体成员访问 .操作符
//结构体变量.成员名
} //传值调用
void print2(struct Stu* ps)
{
printf("%s %d\n", ps->name, ps->age);//结构体成员访问 ->操作符
//结构体指针 ->成员名
} //传址调用
int main()
{
struct Stu s = { "张三",10 };
print1(s);
print2(&s);
return 0;
}
输出结果: