有关结构体的操作

指向结构的指针

struct date{
	int mouth;
	int day;
	int year;
}myday;

stuct date *p =  &myday;

(*p).month = 12;
p->month = 12;

用->表示指针所指的结构变量的成员

///结构的初始化

#include<stdio.h>
struct date{
	int month;
	int day;
	int year;
};

int main(int argc,char const *argv[]){
	struct date today ={07,15,2021};
	struct date thismonth = {.month = 7,.year=2021};
	printf("Today's date is %i-%i-%i\n",today.year,today.month,today.day);
	printf("This month is  %i\n",thismonth.month);
	return 0;
}	
}

可以使用‘{ }’对结构体进行初始化,在{}中可以使用‘ . ’有选择的进行初始化,注意结构体中未被初始化的int类型的值为0。

结构运算

要访问整个结构,直接用结构变量的名字
对于整个结构,可以做赋值、取地址,也可以传递给 函数参数

p1 =(struct point){3,3};//相当于p1.x = 3,p1.y = 3
p1 = p2 //相当于p1.x = p2.x,p1.y = p2.y 

注意数组无法做这两种运算

自定义数据类型(typedef)

C语言提供了一个叫做typedef的功能来声明一个已有的数据类型的新名字。比如:

typedef int Length;

使得Length成为int类型的别名。
这样:Length这个名字就可以代替int出现变量定义和参数声明的地方了
像:
Length a,b,num;

typedef struct date{
	int month;
	int day;
	int year;
}Date;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值