前面学习了变量和数组这些简单的数据结构,它们的特点是必须使用规定的数据类型.例如数组被定义为整型后,它的所有存储单元都是由整型构成.现实生活中某一类事物的共同属性可能是由不同的数据类型组成的集合,或者某一属性在不同的情况下表现为不同的数据类型.本章将讲解结构体与共用体,用来设计复合数据结构. 7.1 结构体类型变量的定义和引用 结构体是一种复合数据类型,它由不同数据类型的存储单元组合.例如,学生的成绩表上有姓名.专业.学号和没门功课成绩,姓名和专业可以看作是字符串型数据,学号是无符号长整型数据,…
指针变量是包含内存地址的变量.一般的变量直接包含一个特定的值,而指针变量包含的是某一特定数据类型的内存地址.普通变量直接引用其中的值,指针变量则间接引用所指向内存地址中的值.指针变量在使用前需要声明与初始化. 4.5.1 指针变量的定义 指针变量定义时,需要指定所指向的数据类型.声明指针变量的一般形式为: 数据类型  *变量名 “*”运算符通常称为 间接运算符 或 间接引用运算符,在声明中以这种方式使用间接运行符时,它用以表明被声明的变量是指针变量.如下例所示: int *pi; // 声明一个…
7.2 结构体数组的定义和引用 当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间.如下例所示: struct student stu_a[50]; // 声明长度为 50 的结构体数组 stu_a 引用结构体数组中元素的一般形式为: 结构体数组名[n].成员名 [] 符号的优先级与.符号相同,适用于自左向右结合性,所以运算时首先获得的是结构体数组的元素,然后再获得该元素的成员.如果该成员是数组,引用该成员数组元素的一般形式为: 结构体数组名…
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 本系列文章一部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,另一部分是Solidity深入分析,这部分请订阅区块链技术专栏阅读. 结构体(Structs) Solidity提供struct来定义自定义类型,自定义的类型是引用类型. 我们看看下面的例子: pragma solidity ^0.4.11; contract Crowd…
C 语言中指针的操作非常灵活,它也能指向结构体变量对结构体变量进行操作.在学习结构指针之前,需要再次加深对指针的认识.声明指针变量时所使用的数据类型修饰符实际上的作用是定义指针访问内存的范围,如果指针定义为整型,那么该指针访问内存的范围就是整型变量在内存中所占用的空间大小.虽然每次尝试将指针变量所在存储的内存地址输出会发现,任何类型的内存地址长度都一样,但不同类型间不能相互复制,只有空值型除外.因此在使用指针操作结构体时,一定要确定指针所定义的数据类型与结构体的数据类型相同. 7.3.1 指向结…
整数.字符.布尔值.浮点数这些数据类型都具有单一的值,这些可称为基本数据类型.但字符串是一个例外,它由很多字符组成,像这种由基本类型组成的数据类型称为复合数据类型,正如表达式和语句有组合规则一样,由基本类型组成复合类型也有一些组合规则. 在实际问题中,一组数据往往具有不同的数据类型.例如,在学生登记表中,姓名应为字符型:学号可为整型或字符型:年龄应为整型:性别应为字符型:成绩可为整型或实型.显然不能用一个数组来存放这一组数据.因为数组中各元素的类型和长度都必须一致,以便于编译系统处理.为了解决这…
大多数的计算机运算是对现实世界的模拟,如果想用计算机来模拟现实世界需要用到数据抽象的方法.所谓抽象是从实际的人.物.事和概念中抽取所关心的共同特征,,忽略非本质的细节,吧这些特征用各种概念精确的加以描述,从而使这些概念构成某种对现实世界进行描述的模型. 下面以数学中的复数为实例,通过结构体讲解数据类型的组合和抽象.至于过程抽象我们已经见过最简单的形式,就是把一组语句用一个函数名封装起来,当作一个整体使用. 现在我们用C语言表示一个复数.如果从直角座标系来看,复数由实部和虚部组成,如果从极座标系来…
第一章 C语言编程基础 1.1 基本程序结构 1.2 函数库 和 链接 1.3 C语言“32个”关键字 第二章 数据类型.运算符和表达式 2.1 数据类型(5种基本数据类型),聚合类型与修饰符 2.2 常量 与 变量 2.3 整型数据 2.4 浮点型数据 2.5 字符型数据 2.6 运算符 2.7 表达式 2.8 C语言的预处理命令 2.9 小结 第三章 程序控制结构 3.1 程序的 3 种基本结构 3.2 数据的输入 与 输出 3.3 条件控制语句 3.4 循环控制语句 第四章 数组 与 指针…
目录 入门篇 js介绍 历史 基本语法 数据类型 概述 null 和 undefined 数值 字符串 对象 函数 数组 本系列基于阮一峰老师的<JavaScrip语言入门教程>或<JavaScript教程>记录整理,教程采用知识共享 署名-相同方式共享 3.0协议.这几乎是学习js最好的教程之一(去掉之一都不过分) 最好的教程而阮一峰老师又采用开源方式共享出来,之所以重新记录一遍,一是强迫自己重新认真读一遍学一遍:二是对其中知识点有个自己的记录,加深自己的理解:三是感谢这么好的教…
目录 运算符 算数运算符 比较运算符 布尔运算符 二进制位运算符 void和逗号运算符 运算顺序 语法 数据类型的转换 错误处理机制 编程风格 console对象和控制台 标准库 Object对象 属性描述对象 Array 对象 包装对象 Boolean对象 Number对象 String对象 Math对象 Date对象 RegExp对象 JSON对象 本系列基于阮一峰老师的<JavaScrip语言入门教程>或<JavaScript教程>记录整理,教程采用知识共享 署名-相同方式共…