阿鑫来了  
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//用枚举来表示性别
enum Sex{
    MALE,
    FEMALE,
};

struct Student{
    //架构体的成员
    char name[1024];/*表示姓名一般用1024个字节*/
    int age;
    int score;
    enum Sex sex;

};
//是上面的简化
//typedef struct Student{
//    char name[10];
//    int age;
//    int score;
//    enum Sex sex;
//}; Student

//typedef给类型创建一个别名
typedef struct Student Student;

int main(){
//struct Student是一个整体,构成了自定制的一种类型
    //s的类型就叫struct Student, 而不是Student
    /*struct Student s;*/
    //初始化,一一对应,不能再次赋值
    Student s = { "zhangsan", 18, 100, MALE };
    Student* p = &s;
    printf("%s\n", s.name);
    printf("%s\n", (*p).name);/*同上等价*/
    printf("%s\n", p->name);/*同上等价*/
    //修改内容
    s.age = 20;
    printf("%d\n", s.age);
    //修改字符串,strcpy字符串拷贝,把一个字符串
    //复制一份,复制到另一个数组中
    strcpy(s.name, "lisi");
    system("pause");
    return 0;
}

扩展知识: 

C语言中不能直接使用 = 给字符串赋值.

但除了C语言之外,大部分编程语言都可以使用 = 进行字符串赋值

 

一个汉字占几个字节?

和操作系统/编译器无关,和字符编码方式相关.

1.GBK:windows简体中文版默认编码,用两个字节表示一个汉字.(用于中国大陆)

2.UTF-8:Linux 默认的编码方式,变长编码,对于汉字来说一般是三个字节.(全国通用)

 

posted on 2021-03-29 23:26  阿鑫来了  阅读(44)  评论(0)    收藏  举报