******************** c语言的构造类型 ********************

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------



 ******************** c语言的构造类型 ********************

 

 基本数据类型

 指针类型

 定义类型

 void

 构造类型

 

 构造类型:

 

 数组类型;

 结构体类型;

 共用体类型;

 

 结构(structure):是一种构造类型,是由若干"成员"组成的

 每一个成员可以是一个基本数据类型或者又是一个构造类型

 

 结构是一种"构造"而成的数据类型,那么在说明和使用之前必须

 先定义,就事构造它.如同在说明和调用函数之前要先定义函数;

 

 

 定义结构体的方法

 

 ******************** 定义一个结构的一般形式为:

 

  结构体的定义:

 

 strect结构名{

 

    成员表列;(int age);可以一个,也可以多个,类型可以不同

 

 };

 

 数组:一组相同类型的数据.相同数据类型的有序的集合

 

 

 结构体: 类型,构造类型(由若干个已经存在的基本数据类型

 或者构造类型,用构造的方法放到一起)

 

 

 定义一个学生的结构体()(姓名,性别,年龄,成绩)

 

 

    struct student{

    //定义了一个成员

    char name[22];

    

    //       

      //'M'   'F'   'Y'

    char sex;

 

    int ages;

 

    float score;

 };

 

 注意:成员名要符合标示符的命名规范;

 

   1> 不能以数字开头

   2>

 

 

 

 结构体变量:

 

 用结构体类型定义的变量,这个变量就具备了结构类型的特征

 (使用这个结构变量可以存储很多数据)

 

 结构体变量的使用流程: 定义--->初始化--->使用

 

 结构体变量的定义方法:

 

 格式一

 

 1 先定义结构体,再定义结构体变量

 

    struct Car{

 

    int lznum;

    char *pp;

    int speeb;

 

 };

 

 struct 结构体名 结构体变量名;

 

 struct Car bigBen;//定义了一个结构体变量

                    //结构体变量名 bigBen ,可以存储轮子

                        个数/品牌/速度

 

 

 2 

 1> 定义结构体的同时定义变量

 

 struct 结构体名称{

 

 }结构体变量列表;

 

 

 

 struct Iphone{

 

    int size;

    int weight;

    int model;

    char  name[10];

 }iphone4,iphone5;//定义了两个结构体变量

 

 

 2>  使用匿名结构体定义结构体变量

 

 struct {

 

 int pages;

 char *bookName[50];

 char *

 

 }jpz;gt;

 

 

 

 3 使用宏定义结构体变量

 

 #define p iphone struct;

 

 

 结构体变量的初始化

 

 初始化值的类型和定义的成员类型要一致

 赋值的顺序要定义结构体成员的顺序一致

 

 

 1> 先定义结构体变量后初始化

 

 //定义一个结构体

 struct Car{

 

 int lznum;

 char *pp;

 int speeb;

 

 };

 //定义一个结构体变量

 struct Car bigBen;

 

 //再给结构体变量整体初始化

 bigBen = (struct Car){3,"大奔",300};

 

2>

 

 struct Car bao10jie;

 

 bao10jie.lzNum = 3;

 bao10jie.pp = "保时捷";

 bao10jie.speeb = 300;

 

 

 2> 定义结构体变量的同时初始化

 

 struct Dog{

 

 char *name;

 int tuiNum;

 int speeb;

 

 }xiaohua={"小花",2,20},bigYellowDog={"大黄",4,100};

 

 //struct Dog wangcai={"旺财",4,300};

 

 

 用一个已经存在的结构体,初始化另外一个结构体

 wangcai的每个成员值都对应的赋值给heipi的每个成员

 

 struct Dog heipi = wangcai;

 

 部分初始化

 

 struct Car sf = {.pp="实风"};

 */



#include <stdio.h>


int main(int argc, const char * argv[]) {

 

    /* ********************   先定义结构体,再定义结构体变量,后结构体变量初始化

     

    //定义一个结构体

    struct Car{

        

        int speed;

        int lzNum;

        char *name;

    };

    

    //********************  定义结构体变量

     

    struct Car a;

     

    //********************  结构体变量初始化

     

    a.speed = 100;

    a.lzNum = 4;

    a.name = "夏利";

    

    printf("车名是: %s, 最高速度是: %dkm/h,轮子是: %d\n",a.name,a.speed,a.lzNum);

    */

    

 /*

    //********************  定义结构体

    

    struct Car{

        

        char *name;

        int speed;

        int lzNum;

        

    };

    //定义结构体变量

    struct Car bigBen;

    

    //*******   给结构体变量整体初始化

    

    bigBen = (struct Car){"大奔",200,4};

    

    printf("车是:%s ,最高速度是%dkm/h ,%d个轮子\n",bigBen.name,bigBen.speed,bigBen.lzNum);

    

    */

    

    

    

    //定义结构体的同时定义结构变量


    //定义结构体

    struct Car{

        

        char *name;

        int speed;

        int lzNum;

    }binli={"宾利",300,4};

    

    //用一个已经存在的结构体,初始化另外一个结构体

    

    struct Car benchi = binli;

    //binli赋值给了benchi,不在同一个地址上

    printf("benchi = %p\n",&benchi);

    printf("binli = %p\n",binli);

    

    printf("车名是:%s ,车速是%dkm/h,%d个轮子\n",benchi.name,benchi.speed,benchi.lzNum);

    

    return 0;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值