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,结构体 在前面我们知道变量和数组都可以用来存储数据,变量用来存储单个数据,数组可以用来存储一组同类型的数据,但你有没有发现--它们都只适合单一属性的数据.那现实生活中,很多对象都是具有多属性的.例 ...
随机推荐
- 【初学者常见问题】一脚踏入protected埋下的陷阱
受保护的(protected)——声明该成员的类的子类可以访问这个类的成员(但有一定的限制),并且,声明该成员的包内部的任何类也可以访问这个成员 protected修饰符参考:http://www.3 ...
- 基于简单sql语句的sql解析原理及在大数据中的应用
基于简单sql语句的sql解析原理及在大数据中的应用 李万鸿 老百姓呼吁打土豪分田地.共同富裕,总有一天会实现. 全面了解你所不知道的外星人和宇宙真想:http://pan.baidu.com/s/1 ...
- notification:object not locked by thread before notify()
今天写notification练习时,误将NotificationManager.notify(0, notification);写成notification.notify(); 代码如下 publi ...
- MySQL innotop实时监测工具
安装:wget http://innotop.googlecode.com/files/innotop-1.8.0.tar.gz# perl Makefile.PL # make install解决C ...
- ORACLE模拟临时文件、日志成员、口令文件丢失情况与恢复【weber出品】
一.临时表空间文件.日志文件和口令文件都属于非关键性文件,因为这些文件丢失后并不会影响到整个数据库的完整性. 但是,当这些文件丢失后我们需要快速的找回这些文件.接下来我将模拟临时表空间文件.日志文件和 ...
- 关于Xcode7的HTTP请求不到网络的问题
---恢复内容开始--- Xcode7发现网络请求失败, 其他一切都可以, 有网就是提示没有网络, 请求不到, 查询得知 iOS9引入了新特性 APP Transport Security (ATS: ...
- C#进程与线程
public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { / ...
- 转载:对#!/bin/sh的认识
转载网址:http://blog.163.com/hashes@yeah/blog/static/16867631220101029847420/ 对#!/bin/sh的认识 第一次学shell编程, ...
- document 写法
# UfsProgressBar ## Component InfoA progress bar component of specified progress. ## Usage```<ufs ...
- HTML5实现的视频播放器01
HTML5实现的视频播放器 什么是hivideo? 最近一段时间在使用PhoneGap开发一个App应用,App需要播放视频,本想直接使用html5的video,但使用它在全屏播放时不支持横屏播放 ...