-
基本数据类型
2018-11-18 00:26:54定义一个数据类型需要注意: 1)类型说明符 2)每种类型在计算机内存中占得字节 3)数据范围 4)表示方法 5)每种数据自身的运算方法 基本类型:构造简单,由系统实现定义 构造类型:复杂数据类型,一般由程序员将...定义一个数据类型需要注意:
1)类型说明符
2)每种类型在计算机内存中占得字节
3)数据范围
4)表示方法
5)每种数据自身的运算方法
基本类型:构造简单,由系统实现定义
构造类型:复杂数据类型,一般由程序员将其他数据类型按一定规律构造而成
指针类型:指针变量中只能存放地址,主要用于解决动态数据的建立、删除和使用
空类型:主要用于数据类型的转换和定义函数的类型( 强制转换 )int、char默认带符号
声明不分配空间:extern int i
在嵌入式开发中,考虑到代码的移植性,一定要注意系统默认无符号还是有符号
用typedef重新定义有无符号
例: typedef int sig_int
数据类型的转换:double <–float 高
long
unsigned
int <——char 、short 低
了解 输出/入函数格式控制字符 、数据类型修饰符
%s:用来输入字符串,将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结束。字符串以串结束标志’\0’作为最后一个字符。
%*:表示本输入项在读入后不赋给相应的变量(赋值抑制符)
一般变量初始化的方法:
默认初始化规则:全局变量、静态变量(系统定义)
局部变量 (垃圾)
人工初始化:数值变量 字符变量 指针变量 数组
c语言的存储类型有四种:auto 、static 、register、extern
定义register时注意:1)只能是基本类型 int
2)不能取地址
3)不能定义成静态
进程空间的划分:分配方法:一在硬盘上开辟虚拟空间 。二软件实现(写时复制),在程序中给每个进程分 配
关键字:
register:请求编译器尽可能地将变量存在cpu内部寄存器中
使用时注意: register修饰变量的类型必须是CPU所接受的;
register变量可能不是在内存中存储,所以不能使用&来获取变量的地址
static 静态空间:程序开始时,存放在全局数据区,结束时释放空间,默认初始化为0,使用时可改变其值
例: void f(int c)
{ int a=0;
static int b=0;
a++;
b++;
printf("%d: a=%d, b=%d\n", c, a, b); 1: a=1,b=1
} 2:a=1,b=2
void main( ) 3: a=1,b=3
{ int i;
for (i=1; i<=3; i++)
f( i );
}
const:
const int *a; int const *a;是一个指向const int型的指针,a所指向的内存单元不可改写,所以(a)++是不允许的,但a可以改写,所以a++是允许的。int const a;a是一个指向int型的const指针,a是可以改写的,但a不允许改写。int const * const a;a是一个指向const int型的const指针,因此a和a都不允许改写const给读代码的人传达非常有用的信息。比如一个函数的参数是const char *,你在调用这个函数时就可以放心地传给它char *或const char *指针,而不必担心指针所指的内存单元被改写尽可能多地使用const限定符,把不该变的都声明成只读,这样可以依靠编译器检查程序中的Bug,防止意外改写数据。const对编译器优化是一个有用的提示,编译器也许会把const变量优化成常量extern:表明变量或函数的定义在别的文件中,下面用到的这些变量或是函数是外来的,不是本文件定义的,提示编译器遇 到此变量或函数时,在其他模块中寻找定义;
如果一个函数只能被本文件中其它函数所调用,称为内部函数(或静态函数)。定义时在函数类型前加static。struct:在网络协议、通信控制、嵌入式系统的C/C++编程中,我们经常要传送的不是简单的字节流(char型数组),而是 多种数据组合起来的一个整体,其表现形式是一个结构体“结构体名”用作结构体类型的标志;
花括弧内是该结构体中的各个成员,由它们组成一个结构体;
在结构体内对各成员都应进行类型声明;
“成员表列”也称为域表。每个成员也称为结构体中的一个域,成员名命名规则与变量名一样;
每个成员名前的类型标识符可以为已经定义了的任意类型,当然可以是结构体类型标识符,即结构体成员也可以是另一个结构体变量。
此处只是构造出一个新的类型,并没有定义该类型的变量,因此在内存中并没有开辟任何存储空间;
在程序中可以定义多个结构体类型,不同结构体类型用不同的结构体名来区分。
①引用形式:结构体变量名. 成员名“.”是成员运算符,在所有的运算符中优先级最高。
②不能将一个结构体变量作为一个整体进体输入输出,只能对结构体中的各个成员分别进行输入输出。
③不能用指向结构体变量的指针指向该结构体变量的某个成员。
④访问结构体成员变量的三种方法:
stu.num、stu.name、stu.score
(*p).num、(*p).name、§.scorep
->num、p->name、p->score
“->”为指向运算符,是优先级最高的运算符;
成员运算符“.”的优先级高于指针运算符“”,因此采用 “(*p).成员名” 形式时,括号不能省略;
在定义结构体变量的同时,可以进行初始化结构体变量的各个初值用花括号{ }括起来,大括号内各个成员变量的值之间用逗号分隔,其值必须与成员变量一一对应,且数据类型应与成员变量一致。union(共用体)当多个基本数据类型或复合数据结构要占用同一片内存时,我们要使用联合体;当多种类型,多个对象,多个事物只取其一时(我们姑且通俗地称其为“n 选1”),我们也可以使用联合体来发挥其长处;可以把一个整型变量、一个字符型变量、一个实型变量放在同一个地址开始的内存单元中。即使几个不同的变量共占同一段内存空间。所谓“共用体(union)”是指使几个不同的变量共占同一段内存的数据类型。
define 宏定义
-
004 Golang基本数据类型 | 目标是成为Golang大师
2021-01-25 11:06:24基本数据类型是什么 在计算机中存储着各种各样的数据,图片、音乐、电影等等… 所以就需要不同的数据类型来表示这些数据 所有在计算机中的数据都是以二进制数字(binary digit)的形式存储 在go语言中,根据二...视频: https://www.bilibili.com/video/BV1Nv411s7y9/
基本数据类型是什么
在计算机中存储着各种各样的数据,图片、音乐、电影等等… 所以就需要不同的数据类型来表示这些数据
所有在计算机中的数据都是以二进制数字(binary digit)的形式存储
在go语言中,根据二进制数字的位数长度和数据用处的不同,划分了5大类基本数据类型:
- 布尔类型(boolean)
- 字符串类型(string)
- 整数类型(integer)
- 浮点数类型(float)
- 复数类型(complex)
布尔类型
布尔的世界是非黑即白的世界,它只有真(true)与假(false)两个取值,就像二进制只有0和1一样
后面展示了三种逻辑运算符,简单介绍下:
- 逻辑与运算(&&),作用于布尔值,左右两值皆为true,结果为true,否则为false
- 逻辑或运算(||),作用于布尔值,左右两值有一个为true,结果为true,否则为false
- 逻辑非运算(!),作用于布尔值,将true变为false,将false变为true,取反结果
在go中,布尔类型是boolean英文的缩写bool
字符串类型
字符串(string)类型的数据其实就是一段文字
在上节HelloWorld程序中,我们就写了一段字符串
"hello world"
字符串可以通过
+
运算符拼接成一段新的字符串在go中,字符串以英文双引号括住来表示
整数类型
整数类型根据符号的有无,又可以分为两大类:
- 有符号整数(signed integer),缩写为int
- 无符号整数(unsigned integer),缩写为uint
有符号整数可以表示(-N ~ N),无符号整数只能表示[0 ~ N)
根据二进制长度的不同,还可以继续细分:
- int int8 int16 int32 int64
- uint uint8 uint16 uint32 uint64 uintptr
二进制长度越长,可以表示的整数范围越大
其中值得注意的是:
uint8
还有一个别名叫byte
,用来代表一个字节(8 bit = 1 byte
)int32
还有一个别名叫rune
,用来代表一个Unicode(万国码)
上面展示整数的5种算术运算符:
+
加法-
减法*
乘法/
除法%
取余
浮点数类型
刚才注意到在整数例子中
10/3
的结果是3,并没有小数部份,这时可以用浮点数浮点数(float)即包含小数的数字,根据二进制长度的不同可以分为:
- float32
- float64
与整数不同,浮点数都是有符号的;长度越大,可表示数的范围也越大
在整数例子的基础上,在每个整数后面添加小数即变成了浮点数
注意: 取余(%)运算符不能应用于浮点数
复数类型
我们把形如
z=a+bi
(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位同样根据二进制长度不同可以分为:
- complex64
- complex128
复数就不多介绍了,用的相对较少 XD
总结
next time…
-
java基本数据类型的转换
2020-07-03 10:39:12java基本数据类型的转换自动类型转换强制类型转换 自动类型转换 举例:多种不同的数据类型的一起运算 解释:有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那个数据类型,然后再进行计算。 ...自动类型转换
举例:多种不同的数据类型的一起运算
解释:有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那个数据类型,然后再进行计算。举例:单个字符类型与数据类型的一起运算
解释:ASCII码(上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一的规定。这被称为ASCII码。ASCII码一共规定了128个字符的编码,比如空格"space"是32(二进制00100000)),大写的字母A是65(二进制01000001)
char类型的数据在数字进行数学运算的时候,它是转换为对应的ASCII码的值然后再进行的计算
所以也不难理解字符与数值相加的结果是一个数值了。举例:字符串类型与数据类型的一起运算
解释:当把任何基本类型的值和字符串进行连接运算的时候(+),基本类型的值将自动转化为字符串类型。
为了大家加深理解,再看一个例子
解释:前面是纯数字,所以可以相加,但是后又遇见了"hello"字符串,再由加号就是字符串拼接强制类型转换
数字类型的运算规则:
①有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型。然后再进行计算。数字类型的从小到大分别是byte,int,long,float,double.
②数字类型的运算中,多个相同类型变量参与的运算,变量要先转换为相对应的数据类型的默认类型(比如两个byte类型的变量相加,会先把两个byte类型的变量转换默认的int类型之后再计算,得到的结果是int类型)。这种情况适用于变量的数据类型的容量比默认类型的容量小,(比如byte,short,都比int小)
③byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。记录自己最近学习到的东西,做一个总结,希望大家喜欢,一起加油!
-
Java八种基本数据类型(图文详解)
2020-07-02 22:54:55Java八种基本数据类型Java八种数据类型Java八种数据类型的分类(图)基本数据类型分为三大类①数值型②字符型③布尔型数值型整数类型(byte,short,int,long)浮点型(float,double)字符型(char)布尔类型(boolean)...Java八种基本数据类型
Java八种数据类型
Java八种数据类型的分类(图)
Java的数据类型分为两大类:①基本数据类型 ②引用数据类型基本数据类型分为三大类
**由图可知,我们继续按照Java的基本数据类型可以分为三大类:
①数值型
数值型数据(metric data)是按数字尺度测量的观察值,其结果表现为具体的数值。现实中所处理的大多数都是数值型数据。
②字符型
字符型(Character)数据是不具计算能力的文字数据类型,用字母C表示。
它包括中文字符、英文字符、数字字符和其他ASCⅡ字符,其长度(即字符个数)范围是0-255个字符,即0x00至0xFF。③布尔型
布尔数据是sql server中的一个名词,布尔数据由binary(二进制)数字组成,即0和1。
数值型
整数类型(byte,short,int,long)
数值型可以分为两大类:①整数类型 ②浮点类型
对于图标中类型的对应表数范围和占用的存储空间解释一下:
①比特(bit):比特是英文 binary digit的缩写。比特是表示信息的最小单位,是二进制数的一位包含的信息或2个选项中特别指定1个的需要信息量。一般来说,n比特的信息量可以表现出2的n次方种选择。
有多少个数值,就是几bit
②表数的范围:就拿byte的范围-128到127之间,声明byte类型变量的时候赋值不能超过这个范围,给byte类型变量赋值时不能超过这个范围
byte a = 130 这就是一个错误的示范,超出了范围
byte a = 120 就正确了浮点型(float,double)
字符型(char)
注意转义字符:拿单个单引号来说,‘’‘ 这样是不行的,需要在前面加一个转义字符 / , ‘/’’ ,认为其就是单个单引号布尔类型(boolean)
记录自己最近学习到的东西,做一个总结,希望大家喜欢,一起加油!
-
JS数据类型之基本数据类型
2019-06-28 16:46:431.JavaScript(以下简称js)的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型); 2.js常用的基本数据类型包括undefined、null、number、boolean、string; 3.js的引用数据类型也就是... -
JavaScript中的基本数据类型,地基同样重要(系列九)
2020-07-07 14:14:48Js中的数据类型虽然也是一个老生常谈的问题,但它经常出现在整个面试的前几问中,面试官会通过你的回答来决定之后问题的走向,比如当你回答基本数据类型时少回答了一个String时,那么面试官很可能就会问你String都有... -
Kotlin 基本数据类型
2020-08-10 16:46:09Kotlin 基本数据类型基本数据类型字面常量 基本数据类型 Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。不同于 Java 的是,字符不属于数值类型,是一个独立的数据类型。 类型 位宽度 ... -
C语言的数据类型:基本数据类型,构造数据类型,指针类型,空类型
2019-11-01 10:05:34基本数据类型:byte,int ,char, float, double, enum 构造数据类型:数组,结构体,共用体 指针类型 :指针 空类型 : void 二 基本数据类型的特点 不可以再分解为其他类型,基本类型就是自我说明。 三 图解 ... -
Java基本数据类型与类型转换
2019-12-10 23:39:00本文关键字:8种、基本数据类型、整数类型、浮点类型、字符类型、布尔类型。 -
基本数据类型和引用数据类型的区别
2019-04-01 21:55:39java有两种不同的数据类型:基本数据类型和引用数据类型 一、基本数据类型 基本的数据类型有:`undefined,boolean,number,string,null.基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值。有... -
Java数据类型之基本数据类型
2017-06-20 15:27:52数据类型,顾名思义,就是数据的类型。在Java语言中,数据类型可以简单分成基本数据类型、引用数据类型和枚举数据类型。在这里,简单介绍基本数据类型。 -
(面试)基本数据类型与引用数据类型的区别
2019-07-19 10:00:57【基本数据类型】 基本数据类型:声明时直接在栈内存中开辟空间,并直接在当前内存中存放数据,赋值时传递的是变量中的值, 总的来说,基本数据类型传的是值。 【引用数据类型】 声明引用数据类型(数组或对象... -
【JAVA】java基本数据类型详解
2020-02-22 11:26:15JAVA基本数据类型解析 首先介绍一下: Java是一种强类型语言,每个变量都必须声明其数据类型。 Java的数据类型可分为两大类:基本数据类型(primitivedata type)和引用数据类型(reference data type)。 Java中... -
数据类型的作用及基本数据类型分类
2020-02-06 22:38:46数据类型的作用及基本数据类型分类 作用 为了限制变量中所存储的数据(至少是可以兼容的)。 为了限制变量所占空间 分类 数据类型可分为基本数据类型和引用数据类型。基本数据类型又可分为整型、浮点型、字符型... -
C51基本数据类型
2019-12-19 13:42:36C51基本数据类型 C51中基本数据类型主要是指变量类型。变量是指其值可以改变的量。一个变量实质上是代表了内存中的某个存储单元。程序中的变量a,就是指用a命名的某个存储单元,用户对变量a进行的操作就是对该存储... -
引用数据类型与基本数据类型的区别
2019-05-30 09:58:59基本数据类型:比较的是基本数据类型的值是否相同 举个例子来说: public class Main{ public static void main(String[] args) { //引用数据类型 String s1 = new String("hello"); //基本数据类型 String... -
Java 数据类型(基本数据类型、引用数据类型)
2013-12-11 23:40:11Java 数据类型(基本数据类型、引用数据类型) 简单的介绍 -
QT基本数据类型
2018-11-11 09:40:35QT基本数据类型定义在#include &lt;QtGlobal&gt; 中,QT基本数据类型有: 类型名称 注释 备注 qint8 signed char 有符号8位数据 qint16 signed short 16位数据类型 ... -
Java - 数据类型之间的转换:如何将字符串转换为基本数据类型?如何将基本数据类型转换为字符串?
2019-03-14 20:20:57- 调用基本数据类型对应的包装类中的方法 parseXXX(String) 或 valueOf(String) 即可返回相应基本类型。 - 一种方法是将基本数据类型与空字符串("")连接(+)即可获得其所对应的字符串;另一种方法是... -
C++ 基本数据类型和表达式
2017-04-10 10:34:191. C++是一种静态类型语言(运行前指定每个数据的类型),也是一种强类型语言(对数据的操作进行严格的类型检查)。 2. bool类型数据在算术运算时true对应1,false对应0。 3. typedef给已有类型取别名 typedef ; ... -
JavaScript基本数据类型
2018-07-13 19:49:32JavaScript是弱类型脚本语言...JavaScript基本数据类型有如下五个(1)数值类型(2)布尔类型(3)字符串类型(4)Undefined类型(5)Null类型1. 数值类型与强类型语言如C、Java不同,JavaScript的数值类型不仅包括... -
C++数据类型:基本数据类型 构造数据类型(自定义数据类型)
2013-12-22 13:59:29C++根据数据复杂程度,划分为基本数据类型和构造数据类型这两大类。 其中,基本数据类型包括:整型(short,int,long)、实型(又称浮点型)(float和double)、字符型char、布尔型bool等。 构造数据类型包括:数组、... -
详解JS中的基本数据类型和引用数据类型
2018-12-08 00:05:55js的基本数据类型和引用数据类型 js的六大数据类型 Number, String, Boolean, Undefined , Null , Object 基本数据类型:Number,String,Boolean, Null 引用数据类型:Object , Array, Function 如何... -
数据类型(基本数据类型、引用数据类型)以及堆和栈的区别
2018-07-26 12:55:41js数据类型:基本数据类型和引用数据类型(文章最下面会介绍各类型的基础以及注意事项) 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象 当我们把变量赋值给一个变量时,解析器首先要确认... -
Java数据类型(基本数据类型和引用数据类型)
2014-07-08 15:01:17Java数据分为基本数据类型和引用数据类型.其中基本数据类型有4类8种. 基本数据类型:类似于普通的值 引用数据类型:传递的是内存的地址 对于引用类型来说,声明只会分配一个引用,指向null, 当你想使用的时候不能... -
typescript基本数据类型
2019-08-02 17:06:37ts共有7种基本数据类型 分别为: Boolean Number String Array Enum Any Void 对各种数据类型的声明以及注意事项都浓缩在如下代码块,为了方便您可以可自行粘贴运行:如果您还不会编译ts文件请点击这里看我的另一篇... -
基本数据类型与高精度数字
2018-10-11 09:31:38基本数据类型 -
hive中的数据类型:基本数据类型,集合数据类型
2018-09-08 16:52:36Hive支持关系型数据库中的大多数基本数据类型,同时支持关系型数据库中很少出现的3种集合数据类型,下面我们将简短地介绍一下这样做的原因。 其中一个需要考虑的因素就是这些数据类型是如何在文本文件中进行... -
js基本数据类型和复杂数据类型的区别
2019-05-27 09:41:53js基本数据类型和复杂数据类型的区别为: let b = { age: 10 } let a = b; a.age = 20; console.log(a); //{ age: 20 } //基本数据类型 let b = 10 function change(info) { info=20; } //info=b;基本数据类型...