博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux C 语言结构体赋值
阅读量:5966 次
发布时间:2019-06-19

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

  hot3.png

#include 
#include
typedef enum {TYPE_INTEGER, TYPE_STRING, TYPE_DOUBLE, TYPE_UNSET} data_type_t;struct Data { char *name; int num; data_type_t type; union { int ivalue; double dvalue; char *cstr; }defval;};struct Data opt[] = { {"Option1", 1, TYPE_UNSET}, { .name = "Option2", .num = 2, .type = TYPE_DOUBLE, .defval.dvalue = 0.123 }, { num:3, name:"Option3", type:TYPE_STRING, .defval.cstr = "hahaha" }};int main(int argc, char *argv[]){ int i; size_t dlen = sizeof(opt)/sizeof(struct Data); printf("dlen = %u\n", dlen); for (i = 0; i < dlen; i++) { printf("i = %u, name = %s, type = %u, num = %d ", i, opt[i].name, opt[i].num, opt[i].type, opt[i].num); if (opt[i].type == TYPE_DOUBLE) printf(" defvalue = %f\n", opt[i].defval.dvalue); if (opt[i].type == TYPE_STRING) printf(" defvalue = %s\n", opt[i].defval.cstr); if (opt[i].type == TYPE_UNSET) printf("\n"); } return 0;}

 

编译输出:

dlen = 3i = 0, name = Option1, type = 1, num = 3 i = 1, name = Option2, type = 2, num = 2   defvalue = 0.123000i = 2, name = Option3, type = 3, num = 1   defvalue = hahaha

 

转载于:https://my.oschina.net/tsh/blog/1498567

你可能感兴趣的文章
unix文件权限
查看>>
Python 模拟鼠键
查看>>
2017-2018-2 20155224『网络对抗技术』Exp7:网络欺诈防范
查看>>
Source Code Review
查看>>
分享一下我安装启动Jmeter出错时的解决办法
查看>>
java 调用process
查看>>
用a标签实现submit提交按钮的效果
查看>>
毕向东_Java基础视频教程第20天_IO流(1~4)
查看>>
几图理解BeautifulSoup
查看>>
HashMap内部是如何实现的(转)
查看>>
交互设计[3]--点石成金
查看>>
java实现双向循环链表
查看>>
如何使用缓存提高程序性能
查看>>
【trie树】HDU4825 Xor Sum
查看>>
SCCM TP4部署Office2013
查看>>
Linux系统启动过程,grub重装。
查看>>
使用Putty密钥认证机制远程登录Linux
查看>>
【博客话题】技术人生之三界修炼
查看>>
Ext JS 6开发实例(三) :主界面设计
查看>>
【原创】Oracle RAC原理和安装
查看>>