>例:通过指向结构体变量中的成员变量的指针变量输入和输出成员变量的值。5p1&s.num101版权所有@陈保留所有权利p2&s.nameLi Sip3M&s.sex90.5p4&s.score16
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢例:通过指向结构体变量中的成员变量 的指针变量输入和输出成员变量的值。 16 101 Li Si M 90.5 s p1 &s.num &s.name &s.sex &s.score p2 p3 p4
#include <stdio.h>#include <string.h>int mainO {struct Student {char name[20]:long num;char sex;float score;1 :struct Student s;long* pl = &s.num;char* p2 = s.name;char* p3 = &s. sex;float* p4 = &s.score;,"Li Si");*pl = 10l; strcpy(p2,版权所有?陈哲保留所有权利*p3 = M2 ; *p4 = 90.5;printf("Num:%ld name:%s sex:%c score:%5.1fln"*pl,p2,*p3,*p4);return O;17
版 权 所 有 © 陈 哲 保 留 所 有 权 利 #include <stdio.h> #include <string.h> int main() { struct Student { long num; char name[20]; char sex; float score; }; struct Student s; long* p1 = &s.num; char* p2 = s.name; char* p3 = &s.sex; float* p4 = &s.score; *p1 = 101; strcpy(p2, "Li Si"); *p3 = 'M'; *p4 = 90.5; printf("Num:%ld name:%s sex:%c score:%5.1f\n", *p1, p2, *p3, *p4); return 0; } 17
>例:通过指向结构体变量的指针变量输入和输出成员变量的值。pS&s101版权所有@陈哲保留所有权利Li SiM90.518
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢例:通过指向结构体变量的指针变量输 入和输出成员变量的值。 18 101 Li Si M 90.5 s p &s
#include <stdio.h>#include<string.h>int mainO {struct Student {char name[20]:long num;char sex;float score;1 :struct Student s, *p;p = &s;p->num = 10l; strcpy(p->name, "Li Si");p->sex = M; p->score = 90.5;printf("Num:%ld name:%s sex:%c score:%5. 1f)n"[p->num,p->name,p->sex,p->score)版权所有@陈保留所有权利printf("yum:%ld na/e:%s sex/%c sco/re:%5.1f)n"s.sconum,s. naS. sex,ret(*p).num(*p).sex(*p).score[(*p).name19
版 权 所 有 © 陈 哲 保 留 所 有 权 利 #include <stdio.h> #include <string.h> int main() { struct Student { long num; char name[20]; char sex; float score; }; struct Student s, *p; p = &s; p->num = 101; strcpy(p->name, "Li Si"); p->sex = 'M'; p->score = 90.5; printf("Num:%ld name:%s sex:%c score:%5.1f\n", p->num, p->name, p->sex, p->score); printf("Num:%ld name:%s sex:%c score:%5.1f\n", s.num, s.name, s.sex, s.score); return 0; } 19 (*p).num (*p).name (*p).sex (*p).score
结构体变量地址作为函数参数>结构体变量成员可以作为函数实参,函数的形参是一个成员变量类型的变量:函数调用时,将结构体变量成员的值传给形参。>结构体变量成员地址可以作为函数实参,函数的形参是一个指针类型的变量函数调用时,将结构体变量成员地址传给形参,版权所有@陈暂保留所有权利void print(int i, int* p){*p=i+l; jstruct Student sl;print(sl.num, &sl.num);20
版 权 所 有 © 陈 哲 保 留 所 有 权 利 结构体变量地址作为函数参数 ➢结构体变量成员可以作为函数实参,函 数的形参是一个成员变量类型的变量: ◦函数调用时,将结构体变量成员的值传给形参。 ➢结构体变量成员地址可以作为函数实参, 函数的形参是一个指针类型的变量。 ◦函数调用时,将结构体变量成员地址传给形参。 void print(int i, int* p) { *p = i + 1; } struct Student s1; print(s1.num, &s1.num); 20