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

  • 相关阅读:
    MVC添加
    bootstrap mvc
    mvc对象转成JSON格式
    乐观锁、悲观锁
    DOCKER上安装HASSIO
    Hass.io: add-on Samba
    Hass.io: add-on Configurator
    Lubuntu安装屏幕键盘onboard,使触摸屏可以登录和输入
    Dell Venue 8 Pro启动盘UEFI模式32位启动,备份系统
    屏幕录像软件Bandicam和oCam
  • 原文地址:https://www.cnblogs.com/chenweichu/p/6475614.html
Copyright © 2011-2022 走看看