1.结构体的定义和初始化
方式1
typedef struct Student
{
char name[20];
long long id;
int math;
}student;
//typedef struct Student student;
student s ={ "lixuhui", 17040413109, 100 };
方式2
struct Student
{
char name[20];
long long id;
int math;
};
typedef struct Student student;
student s ={ "lixuhui", 17040413109, 100 };
方式3
struct Student
{
char name[20];
long long id;
int math;
};
struct Student student;
student = { "lixuhui",17040413109,100 };
对结构体进行指针进行操作
typedef struct Student
{
char name[20];
long long id;
int math;
}student;//这是一个类型名
//typedef struct Student student;
student s =( struct Student){ "lixuhui", 17040413109, 100 };
student* p = &s;
strcpy(s.name, "lisi");
printf("%s", (*p).name); //在指针中.等价于->
printf("%s", p->name);
参照别的大佬的代码,开拓自己的知识视野
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[]) {
//定义结构体类型
struct Person
{
char *name;
int age;
double heigth;
};
//初始化的4种方式
//1.定义的同时初始化
struct Person p1 = { "zhangsan",20,170 };
//2.先定义再逐个初始化
struct Person p2;
p2.name = "ykd";
p2.age = 18;
p2.heigth = 180;
//3.先定义再一次性初始化
struct Person p3;
p3 = (struct Person) { "lisi", 18, 180 };
//注意:结构体和数组在这里的区别,数组不能先定义再进行一次性初始化
//结构体要明确的告诉系统{}中是一个结构体
//4.指定将数据赋值给指定的属性
struct Person p4 = { .heigth = 1.77,.name = "wangwu",.age = 33 };
//如何从结构体中取数据?
printf("name=%s,age=%i,heigth=%f\n", p4.name, p4.age, p4.heigth); //name=wangwu,age=33,heigth=1.770000
system("pause");
return 0;
}