关于C语言结构体、c++语言构成,功能特性,可移植性,命名空间以及基本输入输出
- C语言结构体
在此前的C语言学习中,对结构的的仅处于了解状态,谈不上可应用与深度理解,经过本次学习,学会了一些基本应用:
-
简介
在C语言中,结构体指的是一种数据结构,是C语言中聚合数据类型的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员,且这些成员可以为不同的类型,成员一般用名字访问。 -
定义
结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,nember-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量:代码参考如下
struct tag{
nember_list1
nember_list2
.......
}variable_list
- 实例应用
例一
struct { //这个结构体并没有标明其标签
int a;
char b;
double c;//此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c
} s1;//同时又声明了结构体变量s1
注:其中如需要应用结构体变量,则需用s1去定义一个变量,如struct s1 x;这样才能使用结构体!
例二
struct SIMPLE//结构体的标签被命名为SIMPLE,没有声明变量
{
int a;
char b;
double c;//同上
};
注:用SIMPLE标签的结构体,可另外声明变量t1、t2、t3。
例三
typedef struct//用typedef创建新类型,typedef :为结构体起一个新的名字
{
int a;
char b;
double c;
} Simple2;//结构体的新名字
注:可以用Simple2作为类型声明新的结构体变量
- 小任务
利用结构体,对一个人的信息进行输入(scanf)和输出(printf)
信息包括:姓名(char 类型)、年龄(int 类型)身高(float 类型)、体重(float 类型)
#include <stdio.h>
struct student
{
char mane[20];
int age;
float stature;
float weight;
};
int main()
{ struct student s;
printf("请输入姓名,年龄,身高,体重\n");
scanf("%s %d %f %f",&s.mane,&s.age,&s.stature,&s.weight);
printf("姓名%s\t年龄%d\t身高%f\t体重%f\n",s.mane,s.age,s.stature,s.weight);
return 0;
}
c++部分仅用一下图片记录
为什么可以有多个<<
计算循序从右到左