文档章节

第14章 结构和其他数据形式 14.5 嵌套结构

idreamo
 idreamo
发布于 2017/03/15 05:44
字数 298
阅读 13
收藏 0

程序清单14.3  friend.c程序

//friend.c  --嵌套结构的例子
#include <stdio.h>
#define LEN 20
const char *msgs[5]=
{
    "  Thank you for the wonderful evening,",
    "You certainly prove that a ",
    "is a special kind of guy. We must get together",
    "over a delicious ",
    " and have a few laughs"
};
struct names {
    char first[LEN];
    char last[LEN];
};
struct guy {
    struct names handle;
    char favfood[LEN];
    char job[LEN];
    float income;
};
int main(void)
{
    struct guy fellow={
        {"Ewen","Villard"},
        "grilled salmon",
        "personality coach",
        58112.00
    };

    printf("Dear %s, \n\n",fellow.handle.first);
    printf("%s%s.\n",msgs[0],fellow.handle.first);
    printf("%s%s\n",msgs[1],fellow.job);
    printf("%s\n",msgs[2]);
    printf("%s%s%s",msgs[3],fellow.favfood,msgs[4]);
    if(fellow.income>150000.0)
        puts("!!");
    else if(fellow.income>75000.0)
        puts("!");
    else
        puts(".");
    printf("\n%40s%s\n"," ","see you soon, ");
    printf("%40s%s\n"," ","shalala");
    return 0;
}

首先,注意在结构声明中是如何创建嵌套结构的。它简单进行声明,就像声明一个int变量一样:

struct names handle;

这个声明表示handle是一个struct names类型的变量。当然,文件中也应该包含结构names的声明。

其次,注意如何对嵌套结构的成员进行访问:只需要使用两次点运算符

printf{"Hello,%s!\n",fellow.handle.first};

也就是说先找到fellow,然后找到fellow的成员handle,再找到handle的成员first。

© 著作权归作者所有

idreamo
粉丝 18
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
每周一书《Oracle 12 c PL(SQL)程序设计终极指南》

本周为大家送出的书是《Oracle 12 c PL(SQL)程序设计终极指南》,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著。 内容简介: 《Oracle 12c PL/SQL程序设计终极指南》志在打造PL/SQL领...

zting科技
2017/12/11
0
0
关东升的《从零开始学Swift》第2版已经出版

关东升的《从零开始学Swift》第2版已经出版 大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版《从零开始学Swift》 《从零开始学Swift》将在《...

tony关东升
2016/02/24
0
0
关东升的《从零开始学Swift》3月9日已经上架

大家一直期盼的《从零开始学Swift》于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5 部...

智捷课堂
2016/03/11
43
0
关东升的《从零开始学Swift》3月9日已经上架

大家一直期盼的《从零开始学Swift》于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5 部...

tony关东升
2018/06/26
0
0
第14章 Keras使用保存点保存最好的模型

第14章 Keras使用保存点保存最好的模型 深度学习有可能需要跑很长时间,如果中间断了(特别是在竞价式实例上跑的时候)就要亲命了。本章关于在训练时中途保存模型。本章将: 保存点很重要! ...

优惠券活动
2018/06/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

海康威视Web3.0控件个人开发经验及问题总结(转)

最近在给公司平台写视频监控的页面需求,于是接触到了海康威视的视频控件,网上查阅一番资料后,发现有很多大佬们给出了简易的海康视频控件的上手方法,但是发现仍然有很多地方没有总结到,于...

west_coast
13分钟前
1
0
spring boot入门,看这篇文章就够了

一、SpringBoot入门 1、基本介绍 简化Spring应用开发的一个框架、整个Spring技术栈的一个大整合; J2EE开发的一站式解决方案; 优点: 快速创建独立运行的Spring项目以及与主流框架集成; 使...

李红欧巴
18分钟前
2
0
solidity智能合约implicit conversion异常

问题场景 在使用^0.5.10版本的solidity时,如果使用this关键字会出现以下问题。 代码: require(tokenContract.balanceOf(this) >= _numberOfTokens);(issue is here) 错误信息: TypeErro...

程序新视界
20分钟前
0
0
Null value appeared in non-nullable field java.lang.NullPointerException

报错 Null value appeared in non-nullable fieldjava.lang.NullPointerException: Null value appeared in non-nullable field: top level row objectIf the schema is inferred from a......

张欢19933
26分钟前
0
0
【百度飞浆AI Studio】2、感性快速体验深度学习的线性归回预测房价

百度学习原文地址: https://www.paddlepaddle.org.cn/documentation/docs/zh/1.5/beginners_guide/basics/fit_a_line/README.cn.html import paddleimport paddle.fluid as fluidimport n......

-个俗人
26分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部