c语言结构体3之结构体嵌套
注意:
1结构体内部再次定义一个结构体 但是没有创建结构体的实例
也就是说再次定义的结构体内部的变量会被当做母结构体的成员变量
- struct tianchao
- {
- int data;
- char name[];
- struct beijing//结构体内部再次定义一个结构体 但是没有创建结构体的实例
- //也就是说再次定义的结构体内部的变量会被当做母结构体的成员变量
- {
- char str[];
- int num;
- };
- };
- void mainww()
- {
- struct tianchao t1;
- //t1.这里按照道理是可以有四个变量 但是在此不可以 应该是编译器的问题
- //是没有问题
- /*t1.data = 100;
- t1.num=66;
- sprintf(t1.name,"goa");
- sprintf(t1.str,"gob");*/
- }
- struct tianchao
- {
- int data;
- char name[];
- struct beijingA结构体
- {
- char str[];
- int num;
- }b1;//内部定义的第一种方式
- struct beijingA结构体 b2;//内部定义的第二种方式
- };
- void main()
- {}
- //struct china
- //{
- // int data;
- // char name[100];
- // struct guiyang
- // {
- // char str[100];
- // int num;
- // }a1;//不清楚为什么必须加上a1 编译器才识别
- //};
- //void main()
- //{
- // struct china c1;
- // c1.a1.num = 200;
- // sprintf(c1.a1.str,"ad");
- // printf("%d,%s",c1.a1.num,c1.a1.str);
- //
- // getchar();
- //}
- //方式二
- struct china
- {
- int data;
- char name[];
- //给结构体内部在此定义一个结构体,创建结构体变量,这个变量会直接当作成员
- //但是没有创建结构体的实例
- //再次定义的结构体内部的变量 会被当作母结构体的成员变量
- struct guiyang
- {
- char str[];
- int num;
- }a1;
- struct guiyang b1;
- };
- void main()
- {
- struct china c1;
- c1.b1.num = ;
- sprintf(c1.b1.str,"ad");
- printf("%d,%s",c1.b1.num,c1.b1.str);
- getchar();
- }
c语言结构体3之结构体嵌套的更多相关文章
- C语言的结构体和C++结构体的区别
关于C++中声明结构体中需要使用构造器创建实例对象的语法: <C++的结构体构造方法的基本概念:结构体的构造方法需要和结构体的名字相同,并且无返回值,也不要void关键字,这样的方法就是构造器的 ...
- C语言中的系统时间结构体类型
在C语言涉及中经常需要定时触发事件,涉及到获取系统时间,其结构体类型有多种.Unix/Linux系统下有以下几种时间结构: 1.time_t 类型:长整型,一般用来表示从1970-01-01 00:0 ...
- 关于C语言中结构体中的结构体成员导致的字节对齐问题
关于结构体的字节对齐是什么,就不赘述,再此附上一篇文章,介绍字节对齐:http://www.linuxsong.org/2010/09/c-byte-alignment/ 这里的结构体字节对齐的数据类 ...
- C语言入门(14)——结构体
整数.字符.布尔值.浮点数这些数据类型都具有单一的值,这些可称为基本数据类型.但字符串是一个例外,它由很多字符组成,像这种由基本类型组成的数据类型称为复合数据类型,正如表达式和语句有组合规则一样,由基 ...
- 智能合约语言 Solidity 教程系列6 - 结构体与映射
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 本系列文章一部分是参考Solidity官方文档(当前最新版 ...
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
- GO语言系列(五)- 结构体和接口
结构体(Struct) Go中struct的特点 1. 用来自定义复杂数据结构 2. struct里面可以包含多个字段(属性) 3. struct类型可以定义方法,注意和函数的区分 4. struct ...
- Go语言学习笔记十: 结构体
Go语言学习笔记十: 结构体 Go语言的结构体语法和C语言类似.而结构体这个概念就类似高级语言Java中的类. 结构体定义 结构体有两个关键字type和struct,中间夹着一个结构体名称.大括号里面 ...
- C语言的结构体和 C++结构体的区别
C语言的结构体和 C++结构体的区别 关于C++中声明结构体中需要使用构造器创建实例对象的语法: <C++的结构体构造方法的基本概念:结构体的构造方法需要和结构体的名字相同,并且无返回值,也不 ...
- 如何系统学习C 语言(中)之 结构体篇
1,结构体 在前面我们知道变量和数组都可以用来存储数据,变量用来存储单个数据,数组可以用来存储一组同类型的数据,但你有没有发现--它们都只适合单一属性的数据.那现实生活中,很多对象都是具有多属性的.例 ...
随机推荐
- HTML获取用户输入的几种玩法
input标签 input是一个自闭和标签,可以获得用户的输入 form标签 form标签是用来进行表单提交用的,它把用户的输入内容提交到服务器. 一个注册页面的例子 <!DOCTYPE htm ...
- MySQL 二进制日志(Binary Log)
同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分. MySQL有几种不同的日志文件.通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志能够帮助我们定位mysqld ...
- myPagination5.0 分页简单实例
记得最開始做分页採用的ThreadLocal对象,后面发现有有了更简便的方法,直接使用插件,不但简单.并且高效! 採用的版本号为myPagination5.0,可以解决client多条件无刷新动态分页 ...
- 通过layout实现可拖拽自动排序的UICollectionView
文/CenturyGuo(简书作者)原文链接:http://www.jianshu.com/p/8d1bf1838882著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. Translat ...
- hdu 2101
#include <stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { i ...
- string.Format 指定字符串宽度
语法: { index[,alignment][:formatString]} index,为索引号,不用多说. alignment,是一个带符号的整数,绝对值的大小表示字段的宽度. formatSt ...
- C#--接口的实现
接口: 不允许使用访问修饰符,所有接口成员都是公共的. 接口成员不能包含代码体. 接口不能定义字段成员. 接口成员不能使用关键字static,vritual,abstract,sealed来定义. 类 ...
- KM算法专题
原文:http://972169909-qq-com.iteye.com/blog/1184514 题目地址:这里. 1)求图中所有环的总长度(环的长度不唯一)的最小值.当无法得到完备匹配时说明环不存 ...
- 学习npm和gulp的一些资料,先记着明天接着学习
Unix命令行程序和内建指令(百度百科) 将less编译成css的gulp插件 淘宝cnpm镜像 gulp教程之gulp-less gulp入门指南 查找npm的package.json的name配置 ...
- 02.Lua的数据类型
简单认识Lua 百度了一下(偷哈懒就不自己写了) Lua 是一个小巧的脚本语言.是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janei ...