zoukankan      html  css  js  c++  java
  • C结构体

    定义结构体的几种方式:

    第一种:定义结构体,并声明两个结构体变量。不能通过struct structName xxx;定义结构体变量。

    struct 
    {
    char  title[50];
    char  author[50];
    char  subject[100];
    int   book_id;
    } book1,book2;

    第二种:定义结构体,并声明两个结构体变量。能通过struct structName xxx;定义结构体变量。

    struct Book
    {
    char  title[50];
    char  author[50];
    char  subject[100];
    int   book_id;
    } ;

    //或
    struct Book
    {
    char  title[50];
    char  author[50];
    char  subject[100];
    int   book_id;
    }book1,book2;

    void main(){
    struct Book book1;
    struct Book book2;
    }

    第三种:typedef struct 定义结构体并定义结构体别名

    typedef struct BookStruct
    {
    char title[50];
    char author[50];
    char subject[100];
    int book_id;
    }Book;

    typedef struct定义结构体,同时也定义结构体的别名:Book book;(如果没有typedef就必须用struct BookStruct book;来声明)
    这里的Book实际上就是struct BookStruct的别名。Book==struct  BookStruct
    另外这里也可以不写BookStruct(于是也不能struct BookStruct book;了,必须是Book book;)

    结构体数组成员赋值

    #include "stdio.h"
    #include "string.h"


    typedef struct Books
    {
    char title[50];
    char author[50];
    char subject[100];
    int book_id;
    } Book;


    int main()
    {
    Book book;
    //book.title = "abcd";   //不能直接赋值
    strcpy(book.title,"abcd");
    printf("output:%s",book.title);
    return 1;

    }

    ->运算符用在指针上,获取成员变量的值

    #include <stdio.h>
    void main(){
    struct stu {
    char name;
    int age ;
    };
    struct stu s ;
    struct stu *ptr = &s ;
    s.name = "zhangsan";
    s.age = 25;
    printf("姓名:%c,年龄:%d ",s.name,s.age);
    printf("姓名:%c,年龄:%d ",ptr->name,ptr->age);
    }

  • 相关阅读:
    Linux下压缩解压缩命令
    Linux挂载外部设备
    Ubuntu下安装软件的三种方式
    Linux查看和修改文件权限
    Linux命令行基础操作
    window下常用的cmd命令
    圆角进度条,带数字居中显示的圆角进度条
    上下滑动控件
    window下Jekyll+github搭建自己的博客
    PAT 团体程序设计天梯赛 L1-046 整除光棍(模拟除法)
  • 原文地址:https://www.cnblogs.com/chenweichu/p/6475614.html
Copyright © 2011-2022 走看看