学习笔记--05

结构中使用复合字面量,

我们有一个结构:

1 struct date
2 {
3     int year;
4     int month;
5     int day;
6 };

一般给这个结构赋值会是:

1 struct date today = {2015,7,28};
2 // 或者是
3 // struct date today =
4 //     {.day = 28, .year = 2015, .month = 7};

而用复合字面量的方式:

1 today = (struct date){2015, 7, 28};
2 //或是
3 //today = (struct date){.month = 7, .day = 28, .year = 2015};

这样看起来似乎没什么卵用,但是把复合字面量运用到程序当中去会发现很是方便:

// 普通运用
// if (today != 30){
//      tomorrow.day = today.day + 1;
//      tomorrow.month = today.month;
//      tomorrow.year = today.year;    

// 复合字面量运用
if (today.day != 60)
    tomorrow = (struct date){today.month, today.day + 1, today.year};

同样的运行结果,运用复合字面量会直观很多,也更为方便。

时间: 2024-10-06 00:45:17

学习笔记--05的相关文章

SWIFT学习笔记05

1.Swift 无需写break,所以不会发生这种贯穿(fallthrough)的情况.2.//用不到变量名,可用"_"替换 for _ in 1...power { answer *= base } 3.case 可以匹配更多的类型模式,包括区间匹配(range matching),元组(tuple)和特定类型的描述. 可以这样用case case 1...3: naturalCount = "a few" 4.如果存在多个匹配,那么只会执行第一个被匹配到的 ca

C++ GUI Qt4学习笔记05

C++ GUI Qt4学习笔记05 qtc++正则表达式 QIntValidator           --  只让用户输入整数 QDoubleValidator     --  只让用户输入浮点数 QRegExpValidator    --  只让用户按照正则表达式定义好的样式进行输入 本章讲解如何使用Qt开发自定义窗口部件. 通过对一个已经存在的Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件. 集成自定义窗口到Qt设计师中,这样就可以像使用内置的Qt窗

stm32寄存器版学习笔记05 PWM

STM32除TIM6和TIM7外都可以产生PWM输出.高级定时器TIM1和TIM8可以同时产生7路PWM,通用定时器可以产生4路PWM输出. 1.TIM1 CH1输出PWM配置步骤 ①开启TIM1时钟,配置PA8为复用输出 APB2外设时钟使能寄存器(RCC_APB2ENR) APB1外设复位寄存器 (RCC_APB1RSTR) 置1开启.清0关闭. Eg:RCC->APB2ENR|=1<<11; //使能TIM1时钟 配置I/O口: 参见stm32寄存器版学习笔记01 GPIO口的配置

[原创]java WEB学习笔记05:Servlet中的ServletConfig对象

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

xml基础学习笔记05

Xpath快速解析 如题一样,本篇主要说说Xpath快速查找XML文档 * Xpatn.Xquery,是专门用来查询xml的语言 * 查询xml非常快 Xpatn.Xquery,是专门用来查询xml的语言 查询xml非常快 下面主要记录一下w2school 上面学习的笔记 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. XPath 路径表达式 XPath 使用路径表达式来选取 XML 文档中的节点或者节点集.这些路径表达式和我们在常

Elasticsearch学习笔记-05.3执行查询

现在我们已经看过了基础搜索参数,让我们深入挖掘一下Query DSL.首先让我们看一下返回文档的字段.默认情况下,搜索返回的是全量JSON文档.这杯称之为source(搜索返回值中hits的_source字段).如果我们不想返回整个source文档,我们是可以请求只返回source中的某些字段的.下面的例子展示了如何返回两个字段account_number和 balance(_source中的两个字段): GET /bank/_search { "query": { "mat

js 学习笔记 05

DOM 对象的 clientHeight 包括:content+padding,offsetHeight 包括:content+padding+border /** * 禁止输入汉字 */ appUtils.bindEvent($(_pageId+" #test"),function(e){ e = window.event || e; if(!/[\u4e00-\u9fa5]+/.test(e.data)) { return false; } e.stopPropagation();

WebApi学习笔记05:使用webapi模板--实体类--EF--迁移--Knockout

1.Web项目 1.1概述 本例主要介绍EF,数据初始化迁移,Knockout.js使用…… 1.2创建项目 1.3添加实体类 在Models文件夹下,先添加一个Author.cs类,其代码: using System.ComponentModel.DataAnnotations; namespace WebApi05.Models { public class Author { public int Id { get; set; } [Required] public string Name

C++学习笔记05

拷贝构造 零初始化:类型名(),对于基本类型而言是数值0,对于类或者结构类型而言是匿名对象. 当用一个同类对象初始化一个同类新对象时,调用的自然是拷贝构造函数.一个类如果没有定义拷贝构造函数,编译器会自动产生一个构造函数,内容是逐个复制对于的成员.这一般可以满足程序的需求.如果其中有指针成员指向动态内存的时候两个对象指针成员都会指向相同地方,两个对象释放时都会delete这块内存 从而导致错误.要避免这个问题需要自己来写拷贝构造函数,让每个对象的指针成员各自指向一片动态内存,把旧对象中的数据复制

数据结构学习笔记05图 (邻接矩阵 邻接表--&gt;BFS DFS)

数据结构之图 图(Graph) 包含 一组顶点:通常用V (Vertex) 表示顶点集合 一组边:通常用E (Edge) 表示边的集合 边是顶点对:(v, w) ∈E ,其中v, w ∈ V 有向边<v, w> 表示从v指向w的边(单行线) 不考虑重边和自回路 无向图:边是无向边(v, w) 有向图:边是有向边<v, w> 连通:如果从V到W存在一条(无向)路径,则称V和W是连通的 连通图(Connected Graph):如果对于图的任一两个顶点v.w∈V,v和w都是连通的,则称