(1)指向结构变量 当使用结构指针指向一个结构变量时,指针变量中的值就是所指 向的结构变量的首地址。 这三种用于表示结构成员的形式是完全等效的 据言程设计 ①结构变量.成员名 ②(米结构指针变量).成员名 ③结构指针变量→>成员名 请注意分析下面几种运算 s->n得到s指向的结构变量中的成员n的值 5->n++得到s指向的结构变量中的成员n的值,用完该值后使 它加1 ++S->n得到s指向的结构变量中的成员n的值使之加1 60 例73】 环 境 回1目录
(1)指向结构变量 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回1目录 当使用结构指针指向一个结构变量时,指针变量中的值就是所指 向的结构变量的首地址。 这三种用于表示结构成员的形式是完全等效的。 ①结构变量.成员名 ②(*结构指针变量).成员名 ③结构指针变量->成员名 请注意分析下面几种运算: s->n 得到s指向的结构变量中的成员n的值 s->n++ 得到s指向的结构变量中的成员n的值,用完该值后使 它加1 ++s->n 得到s指向的结构变量中的成员n的值使之加1 【例7.3】
例73】(1) 【例73】通过结构指针引用结构体成员。程序名为173cpp #include " stdio h' struct stu 据言程设计 i int nu char name[20 char sex float score 3 student 1=( 102, " Zhang ping, M, 78.5, *S maino s-& student 1;/*给结构指针变量赋值* printf("Number=%d\tName=%st",Student l num, student l name) printf("Sex=% ItScore=%ofn", student l sex, student l score) printf("Number=%d\ tName=%ost" (S). num, (s) name) 60 printf("Sex=%cutscore=%fn" S).Sex, (S)score) printf("Number=%d\tName=%osIt",S->num, S->name) printf("Sex=%ctScore=%f\n", S->Sex, S->score) 环 境 返回(1)
【例7.3】(1) 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回(1) 【例7.3】通过结构指针引用结构体成员。程序名为l7_3.cpp。 #include "stdio.h" struct stu { int num; char name[20]; char sex; float score; }student1={102,"Zhang ping",'M',78.5},*s; main() { s=&student1; /*给结构指针变量赋值*/ printf("Number=%d\tName=%s\t",student1.num, student1.name); printf("Sex=%c\tScore=%f\n", student1.sex, student1.score); printf("Number=%d\tName=%s\t",(*s).num,(*s).name); printf("Sex=%c\tScore=%f\n",(*s).sex,(*s).score); printf("Number=%d\tName=%s\t",s->num,s->name); printf("Sex=%c\tScore=%f\n",s->sex,s->score); }
【例73】(2上接1) 运行情况如下: Number=102 Name=Zhang ping Sex=M Score=78.500000 Number=102 Name=Zhang ping Sex=M Score=78.500000 据言程设计 Number=102 Name=Zhang ping Sex=M Score=78.500000 60 程序演弓 环 境 返回(1)
【例7.3】(2上接1) 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回(1) 运行情况如下: Number=102 Name=Zhang ping Sex=M Score=78.500000 Number=102 Name=Zhang ping Sex=M Score=78.500000 Number=102 Name=Zhang ping Sex=M Score=78.500000 程序演示
例73】程序渡示 口区 Name=Zhang ping Sex=M Score=78.500000 Name=Zhang ping Sex=M Scor U00 Number=102 Name=Zhang ping Sex=M Sc Press any key to continue 返回例题 巡回(1)
【例7.3】程序演示 返回例题 返回(1)
(2)指向结构数组 当结构指针指向一个结构数组时,该指针变量的值是整个结构数 组的首地址。 当然结构指针也可以指向结构数组中的某个元素,这时指针变量 据言程设计 的值是该结构数组元素的首地址。 设s为指向结构数组的指针变量,则s也指向该结构数组的0号元 素,S+1指向1号元素,S+则指向号元素 (例74 60 环 境 回1目录
(2)指向结构数组 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回1目录 当结构指针指向一个结构数组时,该指针变量的值是整个结构数 组的首地址。 当然结构指针也可以指向结构数组中的某个元素,这时指针变量 的值是该结构数组元素的首地址。 设s为指向结构数组的指针变量,则s也指向该结构数组的0号元 素,s+1指向1号元素,s+i则指向i号元素。 【例7.4】