结构体

申明关键字 struct

1
2
3
4
5
6
struct Person {

char * name;
int age;

};

类似与java中的bean类,kotlin中的data class

1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct Person {
char * name;
int age;
}
;

int main() {
printf("HELLO WORLD!\n");
struct Person * person;
person->name = "justin"; // xcode可以这样写,其他工具可能需要使用 strcpy 函数来对字符串复制来进行赋值
person->age = 29;
printf("name:%s,age:%d\n", person->name, person->age);
return 0;
}

还可以直接在结构体后实例化对象

1
2
3
4
5
struct Person {
char * name;
int age;
} ppp1 = {"9999", 21}
;

类型定义

在不同的ide工具中,c语言的语法可能略有不同,为了统一,推出一个类型定义,
如此保证在不同的ide工具,使用一样的代码运行

在源码中也是大量使用

关键字 typedef

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct Person {
char * name;
int age;
} ppp1 = {"9999", 21}
;

typedef struct Person Person; // 为结构体定义一个类型,后续申明结构体对象就不需要使用struct关键字
typedef Person * Person_; // 为结构体指针定一个类型


int main() {
printf("HELLO WORLD!\n");
Person_ person;
person->name = "justin";
person->age = 29;
printf("name:%s,age:%d\n", person->name, person->age);
return 0;
}

文件操作

file