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);
    }

  • 相关阅读:
    Framework7-Vue搭建项目
    在vue中使用handsontable
    electron-vue中关闭烦人的es语法检查
    今天工作整整一个月了,来记录一下(web前端)
    在electron-vue项目中使用element-ui
    使用electron-vue搭建桌面应用程序项目
    Electron是个啥?
    2月11日-寒假进度11
    2月10日-寒假进度10
    2月9日-寒假进度09
  • 原文地址:https://www.cnblogs.com/chenweichu/p/6475614.html
Copyright © 2011-2022 走看看