C结构体

关于c语言结构体:

首先观察下面俩种方案有什么不同?

struct Book1{
    char name[20];
    int id;
}book;
struct Book1{
    char name[20];
    int id;
};
    struct Book1 book;

其实没什么不同,前者在定义结构体时顺便声明了book结构体变量,后者单独声明。

typedef struct Book1{
    char name[20];
    int id;
}Book;
struct BooK1 book1; Book book;

typedef  将struct Book1 设置别名 Book,以后声明变量直接Book x;

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct Book1{
    char name[20];
    int id;
}Book,*p;
int main()
{
    Book book;
    book.id=150;
    strcpy(book.name,"老王");
    printf("%s:%d
",book.name,book.id);
    p temp;
    temp=&book;
    (*temp).id=200;
    printf("%s:%d
",temp->name,temp->id);
    temp->id=230;
    printf("%s:%d
",temp->name,temp->id);
    return 0;

}

假如果你能把代码全部看完,我相信你会有所收获!

加油,追风少年!

原文地址:https://www.cnblogs.com/handsometaoa/p/12585268.html