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

  • 相关阅读:
    android中设置快捷键方法setShortcut参数的说明
    LayoutInflater
    Java读取文本文件中文乱码问题 .转载
    eclipse+ADT 进行android应用签名详解
    实验课表
    程序员技术练级攻略
    超过4000长度的字符串如何添加到oracle数据库中
    Hive sql创建表以及插入分区表
    Hive Sql 时间格式化处理
    oracle如何查询分区表所占空间大小
  • 原文地址:https://www.cnblogs.com/chenweichu/p/6475614.html
Copyright © 2020-2023  润新知