C语言中的结构类型

声明结构类型

在函数内/外?

#include<stdio.h>
struct    date{
    int    month;
    int    day;
    int    year;
};
int    main(int    argc,char    const    *argv[])
{
    struct    date    today;
    today·month=07;
    today·day=31;
    today·year=2014;
    printf("Today's    date    is    %i-%i-%i.\n",today·year,today·month,today·day);
    return    0;
}

·和本地变量一样,在函数内部声明的结构类型只能在函数内部使用

·所以通常在函数外部声明结构类型,这样就可以被多个函数所使用了

声明结构的形式                                                                                

struct   point{                                                                   struct{     

        int   x;                                                                        int   x;

        int   y;                                                                        int   y;

};                                                                                        } p1,p2;

struct   point    p1,p2;                                                         p1和p2都是一种无名结构,里面有x和y

p1和p2都是point里面有x和y的值

struct    point{

        int  x;

        int  y;

        }  p1,p2;

        p1和p2都是point里面有x和y的值t

结构成员

·结构和数组有点像

·数组用【】运算符和下标访问其成员

·a【0】=10;

·结构用运算符和名字访问其成员

·today·day

·student·firstName

·pl.x

·pl.y

结构运算

·要访问整个结构,直接用结构变量的名字

·对于整个结构,可以做赋值、取地址,也可以传递给函数参数

·pl=(struct   point){5,10};   //相当于pl.x=5;

·pl.y=10;

·pl=p2;    //相当于pl.x=p2.x;pl.y=p2.y;

结构作为函数参数

·整个结构可以作为参数的值传入函数

·这时候是在函数内新建一个结构变量,并复制调用者的结构的值

·也可以返回一个结构

·这与数组完全不同

指向结构的指针

struct    date{
    int    month;
    int    day;
    int    year;
}    myday;
struct    date *p=&myday;
(*p).month=12;
p → month=12;

·用→表示指针所指的结构变量中的成员

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值