“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一”
——包租婆 这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。 那么如何学习呢? 当然是每天都练习一道C语言题目!!作者
闫小林
白天搬砖,晚上做梦。我有故事,你有酒么?
例40:C语言实现通过指向结构体变量的指针变量变量输出结构体变量中的信息。 解题思路:在主函数中声明了struct student类型,然后定义了一个struct student类型的变量s_1,又定义了一个指针变量p,它指向一个struct student类型的对象,将结构体变量s_1的起始地址赋给指针变量p,也就是使p指向s_1,然后对s_1的各个成员赋值。 源代码演示:#include//头文件 #include//为了引用strcpy函数 int main(){//主函数 struct student{ //学生结构体 int num;char name[20];char sex;float score;
};struct student s_1;//定义结构体变量 struct student *p;//定义结构体指针变量
p=&s_1;//将s_1得地址赋给指针变量
s_1.num=10010;//赋值 strcpy(s_1.name,"yan");//复制
s_1.sex='M';//赋值
s_1.score=100;//赋值 printf("学号是:%d\n名字是%s\n性别是:%c\n成绩是:%f\n",
s_1.num,s_1.name,s_1.sex,s_1.score); //输出结果 printf("--------------------\n"); //隔开 printf("学号是:%d\n名字是%s\n性别是:%c\n成绩是:%f\n",
(*p).num,(*p).name,(*p).sex,(*p).score); //输出结果 return 0;//主函数返回值为0
}
编译运行结果如下:
学号是:10010
名字是yan
性别是:M
成绩是:100.000000--------------------
学号是:10010
名字是yan
性别是:M
成绩是:100.000000--------------------------------Process exited after 1.116 seconds with return value 0
请按任意键继续. . .
思考两个问题,怎么对结构体变量成员赋值?怎么通过指向结构体变量的指针访问结构体变量中成员?
以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
C语言学习路线
C语言开发工具
C++学习路线
C#学习路线
长按关注
学习C/C++不迷路