开发基础(一)C语言之数据介绍

开发也有一年多的时间了,但是有时候总是感觉莫名的迷茫或者可以说是紧张吧,总是觉得有些东西不是很清晰,我觉得一个合格的程序员要做的的基本要求是:每一行代码写完,脑子里要清晰的知道这一句过了之后,会有什么样的影响,在内存中是什么效果,对于自己而言,这一点远远没有达到,所以这次才抽时间来解决这个一直以来的忧虑,其实根本原因就是基础问题,所以打算用一个系列来学习和夯实一下基础吧,这也是继续向上必须要做的东西。这里第一篇先从最基础的数据开始讲起吧。

一:数据的分类----静态数据和动态数据

1>.静态数据就是存储在硬盘上的,固定的数据,比如我们电脑上面的保存的电影mp4,音乐mp3文件等,这些是固定的,所以称为静态的。(当然这里静态的意思和static关键字修饰的那个静态可不是一个意思,那个关键字后面会讲到)。

2>.动态数据就是在内存中的,一断电就会消失的数据,比如我们打开一个应用产生的数据,比如写一个文档时突然断电了,再次开机,就没有了,这就是在内存中的数据,是动态的,不断变化的,也是不稳定的。

为什么会有这样的分类呢?因为计算机在工作的时候,内存的读取速度比较快,打开一个app是会先把这个app的所有数据线加载到内存中,在内存中运行这个APP,比如我们开发的时候创建一个变量,来记录一个数据等等,这些操作都是在内存中进行的,但是内存的大小又很有限,尤其是手机APP的开发,所以严格搞清楚数据的类型,数据占用的空间,内存分配等等都是很重要的。这里先提前插入讲一下iOS开发中为什么很重视内存泄漏的避免和检测,内存泄漏:为什么要说这个,因为我发现好多人都在说内存泄漏但并没有理解,这里我用大白话讲一下:就是有块内存你虽然不用了但还要占着不让别人用,所以称为内存泄漏。就是说手机的内存空间很小,要十分注重内存的合理使用,严格控制分配,不用的内存要及时回收,不要白白浪费

二:常量和变量

这个就没啥好说的,常量就是一些固定的,具体的量,比如 6, 1.5, 'A', "cy"等这些都是常量。只不过是类型不同而已。变量的话就是一些先定义好的,用了存储一些数据的量,比如 int a; a = 6;就是先定义一个int型的变量a,a是变量名,后面可以通过变量名来对a所分配的那块内存空间来进行赋值。下面接着来说为什么要区分类型。

三:数据的类型

在开发过程中,其实打的数据类型也就如下四类


更准确的来说,其他的数据也都是通过基本的数据类型来组合而成的。那么问题来了,在开发的时候,为什么要根据不同的需要,定义不同的变量类型?这个其实还是为了内存的合理分配和使用来考虑的,我们都知道,不同类型的数据占用的空间大小不一样,如下图,如果不进行区分,很多的内存空间就会白白的浪费掉,所以根据不同的类型,在内存中分配不同的大小来存储这个变量名对应的空间的大小。



这个只是简单的介绍一下数据的类型,我们要做到的是每一句代码执行后,在内存里面会是什么情形,自己要多动手去画一下试试,多动脑想一想,这样才能避免很多低级的和不必要的Bug的出现。这一骗先讲这么多。后续最重要的指针,堆栈等会陆续进行介绍。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值