博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何用函数初始化结构体
阅读量:5995 次
发布时间:2019-06-20

本文共 1080 字,大约阅读时间需要 3 分钟。

问题

这里主要讨论函数的參数。应该是结构体呢。还是结构体的地址,还是二者都行。

实验证明,仅仅能用结构体的地址。

代码

#include
#include
#include
typedef struct { int a; //"int a=0;" is wrong int b[10]; }STU;void init_struct_point(STU *s){ //參数为数组指针 s->a=100; s->b[0]=5; s->b[1]=7; printf("in f_point(), s->a %d\n",s->a); printf("in f_point(), s->b[0] %d\n\n",s->b[0]);}void init_struct(STU s){ //參数为数组 s.a=1; s.b[0]=2; s.b[1]=3; printf("in f(), s.a %d\n",s.a); printf("in f(), s.[0] %d\n\n",s.b[0]);}int main(){ STU s; printf("s=%d \t &s=%d\n\n",s,&s); init_struct_point(&s); //"s1"会引发编译错误 printf("s=%d \t &s=%d\n\n",s,&s); printf("out f_point(), s.a %d\n",s.a); printf("out f_point(), s.b[0] %d\n",s.b[0]); printf("out f_point(), s.b[1] %d\n\n",s.b[1]); init_struct(s); //"&s1"会引发编译错误 printf("out f(), s.a %d\n",s.a); printf("out f(), s.b[0] %d\n",s.b[0]); printf("out f(), s.b[1] %d\n\n",s.b[1]); system("pause"); return 0; }

执行结果

遗留问题

1.结构体变量名到底是什么。请看s以及&s?

2.结构体变量名 和 结构体数组变量名 有什么差别和联系?

转载于:https://www.cnblogs.com/clnchanpin/p/7380253.html

你可能感兴趣的文章
百度地图给map添加右键菜单(判断是否为marker)
查看>>
线程的状态
查看>>
CentOS 6.4上通过yum安装Nagios-3.5.0 [服务端/server端]
查看>>
ODL Beryllium (Be) - The Fourth Release of OpenDaylight PRODUCTION-READY OPEN SDN PLATFORM
查看>>
Cortex-M0 ARM-GCC 编译链接选项
查看>>
JFinal中EhCache利用RMI方式分布式缓存配置
查看>>
谈传奇世界3D版
查看>>
我的友情链接
查看>>
【阿里云新品发布·周刊】第8期:数字化风暴已经来临!云+区块链,如何颠覆未来科技?...
查看>>
我的友情链接
查看>>
mysql 在一条语句中update和select同一张表
查看>>
python开发编译器
查看>>
演示:使用IPsec+PKI来完成IP通信的安全
查看>>
Maven和Gradle对比
查看>>
C语言extern关键字用法
查看>>
我的LINUX之路----安装LINUX及远程连接
查看>>
如何提高Java并行程序性能
查看>>
数据加密到底管不管用
查看>>
面向对象程序与类
查看>>
安装vsftpd
查看>>