-
2019-05-28 08:10:56
定义了结构体变量之后就可以在程序中对他进行引用,但是结构体变量的引用同一般变量引用不太一样,因为结构体变量中有多个不同类型变量,所以结构体变量不能整体引用,只能一个一个成员的引用。
1 只能分别单独引用他内部的成员。
结构体变量名.成员名 student1.num = 172041;
2 如果结构体类型中的成员也是一个结构体类型,则要使用若干个".",一级一级的找下去。因为只能对最低级的成员进行操作。其实结构体就是对数据的一种封装,当结构体成员也是结构体时,完全可以将结构体成员释放出来。
struct AGE { int year; int month; int day; } struct STUDENT { char name[20]; int num; struct AGE birthday; float score; }
上面完全可以写成:
struct STUDENT { char name[20]; int num; int year; int month; int day; float score; }
3 可以引用‘结构体变量成员‘的地址,也可以引用“结构体变量”的地址。如“&student1.num” 和 “&student1”,前者标志student1.num这个成员在内存中的首地址,后者表示结构体变量student1在内存中的首地址。在C语言中,结构体变量的首地址就是结构体第一个成员的首地址。所以&student1就等价于第一个成员name的首地址,而name是一个数组,数组名表示的就是数组的首地址。但是要注意的是,他们等价于☞的是仅仅“他们表示的是同一个内存空间的地址”,但他们的类型是不同的,&studen
更多相关内容 -
C++结构体变量的引用 | 结构体变量引用
2020-12-29 20:41:32C++结构体变量的引用 C++在定义了结构体变量以后,可以引用这个变量。 可以将一个结构体变量的值赋给另一个具有相 同结构的结构体变量。 student1= student2; 可以引用一个结构体变量中的一个成员的值。C++结构体变量的初始化
C++对结构体变量可以在定义时指定初始值。
struct Student{ //自定义结构体变量 int num;//学号 char sex;//性别 int age;//年龄 }studeng1={1001,'M',24};
C++结构体变量的引用
C++在定义了结构体变量以后,可以引用这个变量。
可以将一个结构体变量的值赋给另一个具有相 同结构的结构体变量。
student1= student2;
可以引用一个结构体变量中的一个成员的值。
student1.num//表示结构体变量student1 student1 student1中的 成员的值
引用结构体变量中成员的一般方式为
结构体变量名. 成员名 student1.num=11001;
如果成员本身也是一个结构体类型,则要用若干个成员运算符,一级一级地找到最低一级的成员。
不能将一个结构体变量作为一个整体进行输入和输出。
例如:已定义student1和student2为结构体变量,并且它们已有值,不能这样输出结构体变量中的各成员的值:cout<<student1; //错误的
只能对结构体变量中的各个成员分别进行输入和输出。
对结构体变量的成员可以像普通变量一样进行各种运算。
可以引用结构体变量成员的地址,也可以引用 结构体变量的地址。
cout<<&student1;//输出student1的首地址 cout<<&student1.num;//输出student1.num的地址
案例:C++结构体变量的引用。
#include<iostream>//预处理 using namespace std;//命名空间 int main()//主函数 { struct Student{ //自定义结构体变量 int num;//学号 char sex;//性别 int age;//年龄 }student1={1001,'M',24}; cout<<student1.num<<endl;//输出学号 cout<<student1.sex<<endl;//输出性别 cout<<student1.age<<endl;//输出年龄 return 0; //函数返回值为0; }
编译运行结果:
1001 M 24 -------------------------------- Process exited after 1.858 seconds with return value 0 请按任意键继续. . .
C++结构体变量的引用
更多案例可以go公众号:C语言入门到精通 -
【例9-3】结构体变量的引用
2022-05-19 14:10:05(三)结构体变量的引用 1.引用结构体变量成员 若定义了一个结构体变量和一个指向结构体变量的指针,则有以下三种引用形式: (1)结构体变量.成员名 //利用成员运算符"."访问 //演示1 (2)(*结构体指针).成员名 //利用...(三)结构体变量的引用
1.引用结构体变量成员
若定义了一个结构体变量和一个指向结构体变量的指针,则有以下三种引用形式:
(1)结构体变量.成员名 //利用成员运算符"."访问 //演示1
(2)(*结构体指针).成员名 //利用指针运算符"*"和成员运算符"."访问 //演示2
(3)结构体指针->成员名 //利用指针和指向运算符"->"访问 //演示22.引用整个结构体变量
相同类型的结构体变量之间可以进行整体赋值 //演示3//结构体变量成员的引用演示1:结构体变量.成员名
#include<stdio.h> int main() { struct job_exam { unsigned num; char name[10]; int exama; int examb; int total; }a = { 1501,"王虎",89,92 }; a.total = a.exama + a.examb; //结构体变量.成员名 printf("编号 姓名 笔试 面试 总成绩\n"); printf("%4u %6s %5d %6d %7d", a.num, a.name, a.exama, a.examb, a.total); return 0; }
//结构体变量成员的引用演示2:(*结构体指针).成员名 结构体指针->成员名
#include<stdio.h> int main() { struct job_exam { unsigned num; char name[10]; int exama; int examb; int total; }*p, s[3] = { {1501,"王虎",89,92}, {1502,"李雪",87,96}, {1503,"张扬",82,85} }; p = s; //结构体指针p指向结构体数组首地址 printf("编号 姓名 笔试 面试 总成绩\n"); //(*结构体指针).成员名 for (int i = 0; i < 3; i++) { (*p).total = (*p).exama + (*p).examb; printf("%4u %6s %5d %6d %7d\n", (*p).num, (*p).name, (*p).exama, (*p).examb, (*p).total); p++; } printf("\n"); p = s; //上一个for 循环使指针p的值发生了变化,此处再次重置为s(输出乱码我才想到。。) //结构体指针->成员名 for (int i = 0; i < 3; i++) { p->total = p->exama + p->examb; printf("%4u %6s %5d %6d %7d\n", p->num, p->name, p->exama, p->examb, p->total); p++; } return 0; }
//演示3:引用结构体变量整体
#include<stdio.h> int main() { struct Student { char *name; int age; }; struct Student stu_1 = { "李华",22 }; struct Student stu_2 = stu_1; //直接将结构体变量stu_1整体赋值给stu_2 printf("%s的年龄是%d", stu_2.name, stu_2.age); return 0; }
//随堂练习9-1
为例9-2中演示2的结构体变量a、b输入各成员值,交换a和b的数据后输出。例9-2演示2的源程序
#include<stdio.h> int main() { struct job_exam { unsigned num; char name[10]; int exama; int examb; int total; }a, b, s[3], * p; //定义的结构体变量要写在";"前 return 0; }
//根据题目要求修改后的源程序
#include<stdio.h> int main() { struct job_exam { unsigned num; char name[10]; int exama; int examb; int total; }a = { 1501,"王虎",89,92,181 }, b = { 1502,"李雪",87,96,183 }, r; r = a; a = b; b = r; printf("编号 姓名 笔试 面试 总成绩\n"); printf("%4u %6s %5d %6d %7d\n", a.num, a.name, a.exama, a.examb, a.total); printf("%4u %6s %5d %6d %7d\n", b.num, b.name, b.exama, b.examb, b.total); return 0; }
-
C语言-结构体变量的引用
2021-11-12 23:17:14例:有如下结构体 //声明一个结构体类型Student struct Student { //定义成员 int num; char name[23]; char sex; ...引用结构体变量的方式有两种: ...(2)引用一个结构体变量中的一个成员的值。例如:stud例:有如下结构体
//声明一个结构体类型Student struct Student { //定义成员 int num; char name[23]; char sex; int age; float score; char addr[30]; }student1, student2, student3;
引用结构体变量的方式有两种:
(1)将一个结构体变量的值赋给另一个具有相同街头的结构体变量。student1=student2;
(2)引用一个结构体变量中的一个成员的值。例如:student1.num表示结构体Student类型的变量student1中成员num的值。
引用结构体变量中成员的一般形式为:
某结构体类型的变量名.成员名
其中,”.“是成员运算符,它在所有的运算符中优先级最高,因此可以把’某结构体类型的变量名.成员名‘作为一个整体看待。 -
结构体变量引用-数组-指针
2012-10-11 20:55:58#include using namespace std;... //结构体变量名定义 int day; int year; }; struct teacher { int num; char name[20]; struct date birthday; //结构体的嵌套定义 int salary; char addr[30]; };... -
结构体变量的初始化和引用
2021-01-21 18:28:37结构体变量的初始化和引用 任务描述 本关任务:从键盘输入两个学生的学号,姓名和成绩(整数),分别存入结构体中,输出成绩较高的学生的学号,姓名和成绩。 相关知识 结构体类型用于描述由多个不同数据类型的数据... -
结构体之引用结构体成员变量
2020-11-05 17:02:012、由指向结构体的指针变量引用结构体成员 指针变量名 -> 成员名 3、(*指针变量名).成员名 结构体指针:指向结构体变量的指针,一个结构体变量的起始地址就是这个结构体变量的指针。如果把一个结构体变量的起始... -
C语言中结构体变量的定义及引用
2018-08-08 16:05:24一、结构体变量的定义 1.结构体类型与结构体变量分开定义 一般形式如下: struct<结构体名><结构体变量名>; eg:struct student student1,student2; 关键字struct要与结构体名student一起使用,... -
go中结构体和结构体变量
2021-04-20 17:46:48一 结构体和结构体变量的区别和联系 1 结构体是自定义的数据类型,代表一类事物。 2 结构体变量(实例)是具体的,实际的,代表一个具体变量。 二 结构体变量在内存的布局 三 如何声明结构体 1 基本语法 type... -
C语言对结构体变量的两种引用方式的分析(“ -> “ 和 ‘ . ‘ )
2021-07-06 13:17:02C语言中对结构体变量不同的引用方式分析 “->” 指向与 '. '指向及相关辨析 引言 在对结构体变量的引用方式中,有两种最为常见的方式,一种是箭头(->)方式的引用,另一种就是点(.)方式的引用,对于这两种引用... -
结构体变量和指向结构体变量的指针
2020-11-16 20:52:11结构体变量和结构体指针作形参的区别 含结构体变量和结构体指针变量形参的函数调用 指针和数组作为函数形参的区别 概念 结构体变量是指将不同的数据类型整合成一个有机的整体,以便于调用。 struct Student { ... -
C++结构体变量的引用
2021-01-25 23:03:28定义结构体变量以后,下一步可以引用了。 好比记到脑子里的知识,可以开始输出了,输出倒逼输入… 老大说了,不能把结构体变量整体输入或输出,只能对每个具体成员进行输入/输出操作。 struct wolf { char name; ... -
C语言结构体变量
2021-05-20 13:16:22结构体是一个或多个变量的集合,这些变量可以是不同的类型,为了处理的方便而将这些变量组织在一个名字之下。比如我要统某个班的学生信息(包括姓名,学号,成绩),每个学生都需要至少3个变量,如若学生人数较多,那... -
结构体变量以及结构体数组
2021-12-11 16:01:02结构体变量以及结构体数组 1、概述 C 语言允许用户自己指定这样一种数据结构,它由不同类型的数据组合成一个整体,以便引用,这些组合在一个整体中的数据是互相联系的,这样的数据结构称为结构体,它相当于其它高级... -
C语言 | 结构体变量
2021-04-29 08:41:58C语言结构体类型 C语言中允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体。...成员表列也称为域表,每一个成员是结构体中的一个域,成员命名规则与变量名相同。 C语言如何定义结构 -
结构体的初始化和引用 & 指向结构体变量的指针变量
2018-08-14 20:57:32一、首先我们来了解关于结构体以及结构体数组的概念。 自定义结构体: struct weapon{ char name[20]; int atk; int price; }; 它是"weapon"型(类似于我们熟知的int型,String型等),里面有一个... -
C语言结构体类型定义+结构体变量的定义与使用及其初始化+结构体变量作为函数参数
2020-12-10 00:25:04C语言结构体结构体引例结构体变量的定义结构体变量的使用结构体变量作为函数参数结构体变量的初始化 结构体 引例 输出平均分最高的学生信息 #include <stdio.h> struct student { int num; char name[10]; ... -
c里面 定义结构体变量要引用另一个结构体变量 要怎么实现?
2022-01-24 23:09:45举个例子 要定义一个“班级”结构体 ,里面有班级的学生数量和存放学生成绩的数组(学生数量没有上限) struct banji{ int num; int score[num];... 这样报错静态变量引用错误 我也知道这样不行 应该怎么解决呢? -
9.1 定义和使用结构体变量
2021-06-02 14:54:149.1 定义和使用结构体变量 9.1.1 自己建立结构体类型 在实际生活中,有些数据是有内在联系的,成组出现的。例如,一个学生的学生、姓名、性别、年纪、成绩和家庭地址等项,是属于一个学生的。人们希望把这些数据... -
指向结构体变量的指针引用结构体变量中的成员
2014-07-08 21:47:58假设我们定义了一个结构体 -
定义结构体变量和结构体指针变量的区别
2020-11-22 23:21:03由于经常要在函数中对结构体对象进行操作,所以函数形参中常常都是传值一个结构体指针变量,自己有时为了偷懒,干脆在定义对象时直接定义结构体指针变量,这样实参就不用取地址了。 这样想是没有错,但是结构体指针... -
C++三种形式引用结构体成员变量
2020-07-04 20:10:06结构体变量名.成员名 指针变量名->成员名 (*指针变量名).成员名(注意:*不能省略因.的结合性大于*) #include <iostream> using namespace std; struct student1 { int Code; char Name[20]; ... -
C语言结构体变量和结构体数组-学习笔记(十六)
2021-07-20 22:54:53一、结构体变量 1、结构体概念 将不同类型的数据组合成一个有机的整体即为结构体。结构体由许多组织在一起的数据项组成,这些数据项不需要属于同一类型。 2、结构体类型及结构体变量定义 (1)结构体类型声明 struct ...