c语言入门第6,C语言快速入门系列(6)

C语言快速入门系列(六)

C语言快速入门系列(六)

C语言指针加强

本节引言:

上一节我们对C语言中的指针进行了初步的了解,学习了指针的定义,与普通变量

一维数组,二维数组,字符串之间的使用!在本节中我们将会学习一些新的知识点,

函数,结构体与共用体,枚举类型以及类型定义符typedef!

本节学习路线图:

本节正文

00243770.jpg

函数

00243771.jpg

ps:空函数就是什么都不做的函数,开发过程中不需要马上实现的,先写空函数!简单的空函数:void abc(){   }

结构体

00243772.jpg

共用体:

00243773.jpg

代码示例2:

建立一个共用体类型,当输入的时学生类型时,要求输入的是学生id,当输入的是老师类型的时候,要求输入老师职称

代码如下:

#include

union type

{

int cid; //班级

char title[20]; //职称

};

struct Person

{

char name[10]; //姓名

char sex; //性别

int age; //年龄

int flag; //标志是老师还是学生

union type tp;

};

int main()

{

struct Person person[10];

int i;

int num;

char ch;

printf("请输入要录入的人数:\n");

scanf("%d",&num);

for(i = 0;i

{

printf("请输入第%d个人员的信息:\n",i + 1);

printf("姓名: ");scanf("%s",&person[i].name);getchar();

printf("性别: ");scanf("%c",&person[i].sex);getchar();

printf("年龄: ");scanf("%d",&person[i].age);

printf("职业标识符: ");scanf("%d",&person[i].flag);

if(person[i].flag == 0)

{

printf("请输入学生的班级id: ");

scanf("%d",&person[i].tp.cid);

}

else if(person[i].flag == 1)

{

printf("请输入老师的职称: ");

scanf("%s",&person[i].tp.title);

}

else

{

printf("输入有误,请重新输入!\n");

i -= 1;

}

}

printf("\n输出所有录入人员的信息:\n");

for(i = 0;i

{

printf("输出第%d个人员的信息:\n",i + 1);

printf("姓名: ");puts(person[i].name);

printf("性别: ");printf("%c",person[i].sex);

printf("\t年龄: ");printf("%d",person[i].age);

if(person[i].flag == 0)

{

printf("\t学生的班级id: ");

printf("%d\n",person[i].tp.cid);

}

else if(person[i].flag == 1)

{

printf("\t老师的职称: ");

puts(person[i].tp.title);

}

}

return 0;

}

运行截图:

00243774.jpg

C语言枚举:

00243775.jpg

类型定义符(typedef)

00243776.jpg

小结:

1.函数

①函数的引入,分类,定义使用,函数声明

②函数的传值与传址

③函数的嵌套与递归

2.结构体

①结构体的引入,类型定义与结构体变量的定义

②结构体变量的初始化,引用(通过.)

③结构体数组的使用

3.共用体

①共用体与结构体的异同

②共用体的理解

③共用体的使用

4.枚举

①枚举的引入,使用,枚举值

5.类型定义符

typedef(定义数据类型别名)

通常用的比较多的是定义结构体的别名!

2楼u014450015昨天 19:05楼主好久不见了啊,都干嘛去了啊,那个Java教程不是还没写完么,怎么写起C来了?1楼zpj779878443昨天 18:18恩呢,前段时间有点事呢,最近在复习C语言呢,所以顺便写C系列,Java那个系列我会尽快更新的!(^_^)∠※

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值