诳言C言语变量和数据类型

在《二进制思惟以及数据的存储》一节中讲到:

  • 盘算机要处置的数据(诸如数字、文字、符号、图形、音频、视频等)是以二进制的方式寄存在内存中的;
  • 我们将8个比特(Bit)称为一个字节(Byte),并将字节作为最小的可操作单位。

我们无妨先从最复杂的整数说起,看看它是若何放到内存中去的。

变量(Variable)

理想生涯中我们会找一个小箱子来寄存物品,一来显得不那么混乱,二来便利今后找到。盘算机也是这个事理,我们需求先在内存中找一块区域,规则用它来寄存整数,并起一个好记的名字,便利今后查找。这块区域就是“小箱子”,我们可以把整数放出来了。
C言语中如许在内存中找一块区域:

int a;

int又是一个新单词,它是 Integer 的简写,意思是整数。a 是我们给这块区域起的名字;当然也可以叫其他名字,例如 abc、mn123 等。
这个语句的意思是:在内存中找一块区域,定名为 a,用它来寄存整数。

留意 int 和 a 之间是有空格的,它们是两个词。也留意最初的分号,int a表达了完好的意思,是一个语句,要用分号来完毕。

不外int a;仅仅是在内存中找了一块可以保管整数的区域,那么若何将 123、100、999 如许的数字放出来呢?
C言语中如许向内存中放整数:

a=123;

=是一个新符号,它在数学中叫“等于号”,例如 1+2=3,但在C言语中,这个进程叫做赋值(Assign)。赋值是指把数据放到内存的进程。
把下面的两个语句连起来:

int a;
a=123;

就把 123 放到了一块叫做 a 的内存区域。你也可以写成一个语句:

int a=123;

a 中的整数不是原封不动的,只需我们需求,随时可以更改。更改的方法就是再次赋值,例如:

int a=123;
a=1000;
a=9999;

第二次赋值,会把第一次的数据掩盖(擦除)失落,也就是说,a 中最初的值是9999,123、1000 曾经不存在了,再也找不回来了。
由于 a 的值可以改动,所以我们给它起了一个抽象的名字,叫做变量(Variable)。
int a;发明了一个变量 a,我们把这个进程叫做变量界说。a=123;把 123 交给了变量 a,我们把这个进程叫做给变量赋值;又由于是第一次赋值,也称变量的初始化,或许赋初值。
你可以先界说变量,再初始化,例如:

int abc;
abc=999;

也可以在界说的同时停止初始化,例如:

int abc=999;

这两种方法是等价的。

变量界说的地位

在VC或VS下,变量界说要放在函数的扫尾;也就是说,在界说变量之前不克不及有其他代码。而在 GCC、Xcode 下,或许在运用了 GCC 编译器的 C-Free、Dev C++、Code::Blocks 下,变量界说可以放在函数的恣意地位。
例如,下面的代码在 VC、VS、GCC、Xcode 下多是准确的:

			#include <stdio.h> int main() { int a = 10; int b = 1000; printf("BianChengBang"); return 0; }

对代码稍作修正,将 printf 语句放在变量 a、b 两头,如下所示:

			#include <stdio.h> int main() { int a = 10; printf("BianChengBang"); int b = 1000; //在界说b变量之前有 printf 语句 return 0; }

修正后的代码在 GCC、Xcode 下是准确的,而在 VC、VS 下就是毛病的。
为什么分歧的编译器会有分歧的差别呢,基本缘由是什么呢?我们将在《C言语变量的界说地位以及初始值》和《C言语的两套规范》两节具体解说。

数据类型(Data Type)

数据是放在内存中的,变量是给这块内存起的名字,有了变量就可以找到并运用这份数据。但成绩是,该若何运用呢?
我们晓得,诸如数字、文字、符号、图形、音频、视频等数据多是以二进制方式存储在内存中的,它们并没有实质上的差别,那么,00010000 该了解为数字16呢,照样图像中某个像素的色彩呢,照样要收回某个声响呢?假如没有特殊指明,我们并不晓得。
也就是说,内存中的数据有多种说明方法,运用之前必需要肯定;下面的int a;就标明,这份数据是整数,不克不及了解为像素、声响等。int 有一个专业的称谓,叫做数据类型(Data Type)。
望文生义,数据类型用来阐明数据的类型,肯定了数据的说明方法,让盘算机和程序员不会发生歧义。在C言语中,有多种数据类型,例如:

说  明 字符型 短整型 整型 长整型 单精度浮点型 双精度浮点型 无类型
数据类型 char short int long float double void

这些是最根本的数据类型,是C言语自带的,假如我们需求,还可以经过它们构成愈加复杂的数据类型,前面我们会逐个解说。

延续界说多个变量

为了让程序的书写愈加简练,C言语支撑多个变量的延续界说,例如:

			int a, b, c; float m = 10.9, n = 20.56; char p, q = ‘@‘;

延续界说的多个变量以逗号,分隔,而且要具有相反的数据类型;变量可以初始化,也可以不初始化。

数据的长度(Length)

所谓数据长度(Length),是指数据占用若干个字节。占用的字节越多,能存储的数据就越多,关于数字来说,值就会更大,反之能存储的数据就无限。
多个数据在内存中是延续存储的,彼此之间没有分明的界线,假如不明白指明数据的长度,盘算机就不晓得何时存取完毕。例如我们保管了一个整数 1000,它占用4个字节的内存,而读取时却以为它占用3个字节或5个字节,这显然是不准确的。
所以,在界说变量时还要指明数据的长度。而这恰好是数据类型的别的一个感化。数据类型除了指明数据的说明方法,还指清楚明了数据的长度。由于在C言语中,每一种数据类型所占用的字节数多是固定的,晓得了数据类型,也就晓得了数据的长度。
在32位情况中,各类数据类型的长度普通如下:

说  明 字符型 短整型 整型 长整型 单精度浮点型 双精度浮点型
数据类型 char short int long float double
长  度 1 2 4 4 4 8

C言语有若干种数据类型,每种数据类型长度是若干、该若何运用,这是每一位C程序员都必需要控制的,后续我们会逐个解说。

最初的总结

数据是放在内存中的,在内存中存取数据要明白三件工作:数据存储在哪里、数据的长度以及数据的处置方法。
变量名不只仅是为数据起了一个好记的名字,还通知我们数据存储在哪里,运用数据时,只需供给变量名即可;而数据类型则指清楚明了数据的长度和处置方法。所以诸如int n;、char c;、float money;如许的方式就肯定了数据在内存中的一切要素。
C言语供给的多种数据类型让程序愈加灵敏和高效,同时也添加了进修本钱。而有些编程言语,例如PHP、JavaScript等,在界说变量时不需求指明数据类型,编译器会依据赋值状况主动推上演数据类型,愈加智能。
除了C言语,Java、C++、C#等在界说变量时也必需指明数据类型,如许的编程言语称为强类型言语。而PHP、JavaScript等在界说变量时不用指明数据类型,编译零碎会主动推演,如许的编程言语称为弱类型言语。
强类型言语一旦肯定了数据类型,就不克不及再赋给其他类型的数据,除非对数据类型停止转换。弱类型言语没有这种限制,一个变量,可以先赋给一个整数,然后再赋给一个字符串。
最初需求阐明的是:数据类型只在界说变量时指明,并且必需指明;运用变量时无需再指明,由于此时的数据类型曾经肯定了。

时间: 2024-12-18 05:31:55

诳言C言语变量和数据类型的相关文章

轻松学习JavaScript五:JavaScript的变量和数据类型

对于一们编程语言,肯定包含变量和数据类型.今天我们就来看看JavaScript脚本语言的变量和数据类型.相对 于其他的Java,C++等高级程序语言,JavaScript显得很简单. 一变量 JavaScript的变量是松散类型的,所谓松散就是用来保存任何类型的数据.变量是存储信息的容器.定义变量时 要使用var操作符(var是关键字),后面跟一个变量名(变量名是标识符).变量也就是初始化后可以再次改变的量. 那么我们来看看实例: <span style="font-size:18px;&

Python之变量、数据类型、运算符

变量与数据类型 1 掌握变量使用及命名规则 1.1 变量赋值 变量赋值通过"="实现, 实例: a = 10 b = 10.11 c = 'abc' 注意事项:变量名尽量具有现实意义 实例:price = 10 Name = '张三' Age = '16' 注意事项:变量的值如果有中文则必须在文件头部声明文件编码 #coding:utf8 1.2 变量命名规则 1.2.1 一般由字母.数字.下划线组成: 实例: i.__my_name.name_21 和 a1b1_c3 1.2.2 不

Java 第二章 变量 、数据类型和运算符 笔记

Java 第二章 变量 .数据类型和运算符 一.变量:存储数据的一个基本单元. 二.变量的声明和赋值: 1)声明并赋值:数据类型 变量名=值;      例:int  price=1000; 2)声明.赋值分两步:数据类型 变量名;   例: int  price; 变量名=值;              price=1000; 三.数据类型2种: 1)基本数据类型8种: Byte 长度:-128~127(-2的7次方到2的7次方减1) Short   -2的15次方到2的15次方减1 Int

php什么是变量的数据类型

什么是变量的数据类型 在变量中,由于变量占用的空间单元不一样(占的地盘大小不一样),也分成几种数据类型,就像超市商品的包装袋,有几种不同类型,不同的商品使用不同的包装袋.我们可以通过使用“memory_get_usage”获取当前PHP消耗的内存. 任务 咱对比一下内存消耗吧! 在右边的编辑器中,咱分别定义四种不同的数据类型,分别是字符串类型,整型,浮点型和数组(后续会详细介绍这几种类型). 1.在第4行中定义字符串类型“$var_string = "123";” 2.第7行定义整型“

PHP100-第三讲 PHP5.4 语法、常量、变量、数据类型详解

内容摘要: ①PHP5.4 的基本语法与写作格式 ②PHP5.4 的变量与变量数据类型 ③PHP5.4 的系统常量与自定义常量 PHP5.4 的基本语法与写作格式: 任何程序语言都有自己的语言风格,PHP语言也有自己独特的风格,虽然也继承了许多Perl和C的语言特色.但经过多年的发展PHP已经成为了一个成熟 的编程语言,所以我们还需要认真的学习PHP的独特语法.PHP一个很大的特色就是与HTML标签语言进行混编,这种模式是今后很长一段学习过程中所用到 的格式,因此我们先来通过一个例子来认识一下P

js的变量和数据类型

1.变量 -javaScript是一种弱类型的脚本语言. -var c = 3:即变量的声明(变量使用之前必须加var声明,编程规范). -变量的命名规则 -1.变量名必须以字母或者下划线_或者$为开头. -2.变量名长度不能超过255字符. -3.变量名中不允许使用空格. -4.不适用脚本语言中保留的关键字及保留符号作为变量名. -5.变量名区分大小写.(javaScript是区分大小写的语言). -全局变量 - 在方法外部声明的变量 - 方法内部,没有加var关键字声明的变量(但是想要使用这

Java学习 (三)、变量,数据类型(一)

一.声明和使用变量的步骤: ①声明一个变量以分配空间:根据类型开辟空间. int a;  int 占4个字节 ②为变量赋值:将数据存入空间. a=20; ③使用变量:取出数据,使用. System.out.println(a); 二.标识符命名规则 变量名=首字符+其余部分 首字符:字母.下划线.’$’ 其余部分:数字.字母.下划线.’$’ 变量名:应避开关键字,如int int=10;第二个int就是关键字,不能使用 符合驼峰命名法:mySocre,若名字由多个单词组成,从第二个单词开始,首字

php变量的数据类型

一.类型 标量类型: 布尔型 整型 浮点型 字符串 复合类型:  数组  对象 特殊类型:  资源 null    1. 布尔型 true  false 以下值认为是false  其他值都认为是true; 布尔值false 整型值0 浮点的0 空字符串和字符串0 空数组 空对象(只适用于php4) 特殊类型null    2. 整型  正整数和负整数  0  整型的最大值  相对于32位操作系统 我们的最大值是 2147483647 整型的最小值  相对于32位操作系统 我们的最小值是 - 21

变量的数据类型

变量的数据类型 一个变量的类型,由变量的值来决定. 基本数据类型:字符型(String).数值型(Number).布尔型(Boolean).Undefined(未定义型).Null(空型) 复合数据类型:数组(Array).对象(Object).函数(Function) 注意:基本数据类型和复合数据类型的主要区别:基本数据类型的值只有一个,而复合数据类型的值可以多个 1.数值型数据(Number) 数值型数据包含整型和浮点型(小数). Var a = 100; Var a = 0; Var a