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,结构体 在前面我们知道变量和数组都可以用来存储数据,变量用来存储单个数据,数组可以用来存储一组同类型的数据,但你有没有发现--它们都只适合单一属性的数据.那现实生活中,很多对象都是具有多属性的.例 ...
随机推荐
- (转)三星i9500/Galaxy S4 刷基带教程
一.手机基带是什么? 三星手机的基带用通俗的话来说就是手机中的一个负责信号调节并进行传输给系统的电路设置,基带的好坏直接影响到在同等信号强度下,手机的获取信号的能力. 二.为什么要刷基带? 常说的基带 ...
- checkbox 与JS的应用
JS是一种基于(面向)对象的语言.所有的东西都基本上是对象. 基于对象和面向对象概念上基本上没有什么区别. js没有类,它把类功能称为原型对象.是同一个概念.主要是因为js没有class关键字.类== ...
- 使用zTree控件制作的表格形式的树形+数据菜单
測试了一下,兼容ie7以上, chrome opera ff 不使用对方css /*------------------------------------- zTree Style version: ...
- sgu Flow construction
Flow construction 题目: 给出N个节点M条水管,要求在满足上下界的情况下.满足起点最小的流量. 算法: 这是最小流????不知道.仅仅知道用求解上下界最大流的方法就过了. 做这题收获 ...
- Python-字符串开头或结尾匹配
startswith() 和 endswith() 方法提供了一个非常方便的方式去做字符串开头和结尾的检查. 1.查看指定目录下的所有文件名 >>> import os >&g ...
- [转]Xcode的重构功能
Xcode提供了以下几个重构功能: Rename Extract Create Superclass Move Up Move Down Encapsulate 在菜单栏中的位置如下图: 在代码区里直 ...
- progit-zh(Git中文文档)
发现好像在墙外,还是下载下来看会快点 链接: http://pan.baidu.com/s/1o8EiDMq 密码: vzf9
- OpenGL ES 2.0 顶点着色器的妙用
1.飘扬的旗帜(水面起伏) 基本原理 绘制一帧画面时由顶点着色器根据一定的规则变换各个顶点的位置,即可得到旗帜迎风飘扬的效果. 为了使旗帜的飘动过程比较平滑,采用基于正弦曲线的顶点位置变换规则.
- 《javascript设计模式》--接口
关于javascript设计模式书中的接口,记录如下 //TODO 增加了一个判断条件,可以只在生产环境中调用 接口var Interface = function(name,methods){ i ...
- 转自:Tsihang 三层网络设备对于IP报文的分片和重组处理原理
三层网络设备对于IP报文的分片和重组处理原理 对于网络分片,我一年前就想整理出来,虽然说网络上的资料很多,但是真正掌握精髓的除非真正做过分片程序,不然很难将协议栈整体联系起来理解.这篇文章,包括设计分 ...