结构体
申明关键字 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