c语言 结构体变量的定义初始化,成员的访问赋值,无名结构体

简介: ----结构体概述:结构体就是将很多不同类型的数据包含在一起。比如里面包含学生姓名、年龄、成绩:char name[20] ; int age ; double score,这些包含的都叫做结构体的成员; 当信息非常多修改就会发生错误,用结构体就会比较方便。

前言


----结构体概述:

结构体就是将很多不同类型的数据包含在一起。

比如里面包含学生姓名、年龄、成绩:char name[20] ; int age ; double score,这些包含的都叫做结构体的成员; 当信息非常多修改就会发生错误,用结构体就会比较方便。


一、结构体成员:


struct Node / / struct是结构体的标志。Node是结构体的名字。
{
char name [20]; / / 这三个叫做结构体的成员。
int age;
double score;
}; / / 结尾要加分号

注释:这种数据类型就做结构体类型,像 int ,double 一样。


二、结构体变量的定义,初始化:


定义变量:

d9ce72a21d5d9180f1c9f535e084eab.png

struct Node no1; / / 声明结构体变量 no1,写法:struct+结构体名字+变量名。
struct Node no2 = { “小明”,23,98.5 }; / / 初始化全部成员
struct Node no3 = { “小明”}; / / 初始化部分元素,其他未初始化的是0
struct Node *no4 = &n02; / / 定义结构体指针,指向no2 空间。

三、结构体成员的访问:


普通变量:用 .

printf ( " %s %d %lf ", no2.name, no2.age, no2.score );

指针变量:用 ->

printf ( “%s %s %lf”, no4->name, no4->age, no4->score );

四、结构体成员的赋值:


成员赋值:

strcpy ( no2.name, 20, “大华” ); / / 字符串必须用循环或者strcpy_s函数,不能直接 =。
no2.age = 34;
no4 -> score = 96.5;
互相赋值:
no1 = no2;
no1 = *no4;

628f751283007491aa3f02490e3f0a1.png

五、无名结构体:


无名结构体:结构体没有名字。(不常用)

struct
{
char name[20];
int age;
double score;
} no5 = { “莉莉”,19,99}; / / 因为无名字,只能在这里定义变量。

总结

大家要多练习一下。


相关文章
|
1天前
|
Java C语言 C++
定义C语言的int main()函数
定义C语言的int main()函数
|
4天前
|
存储 编译器 C语言
C语言数据类型和变量(二)
C语言数据类型和变量(二)
|
4天前
|
存储 编译器 C语言
C语言数据类型和变量(一)
C语言数据类型和变量(一)
|
3天前
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
10 0
|
3天前
|
存储 C语言
C语言中的typedef关键字:为类型定义新名称
C语言中的typedef关键字:为类型定义新名称
9 0
|
3天前
|
存储 C语言
C语言中的变量与函数详解
C语言中的变量与函数详解
4 0
|
3天前
|
C语言
C语言中的赋值运算、比较运算和逻辑运算详解
C语言中的赋值运算、比较运算和逻辑运算详解
8 0
|
3天前
|
存储 C语言
C 语言变量详解
C 语言变量详解
8 0
|
5天前
|
C语言
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
|
5天前
|
C语言
C语言prinf函数
C语言prinf函数
11 4