摘要:
线性结构 线性结构:把所有的结点能够用一根直线穿起来 连续存储【数组】 什么叫数组 元素类型相同,大小相等 优点:存取速度快 缺点: 插入删除元素慢 事先必须知道数组的长度 空间通常有限制,需要大块内存 数组的相关操作 1 # include <stdio.h> 2 # include <mallo 阅读全文
摘要:
数据结构 定义 我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应操作,这个相应的操作也叫算法 数据结构 = 个体的存储 + 个体的关系存储 算法 = 对存储数据的操 阅读全文
摘要:
&:按位与 1&1=1 1&0=0 0&0=0 0&1=0 5&7=5 21&7=5 5&1=1 5&10=0 -5&10=10 |:按位或 1|0=1 0|1=1 1|1=1 0|0=0 3|5=7 ~:按位取反 ~1100=0011 ^:按位异或 相同为0 不同为1 1^0=1 0^1=1 1^ 阅读全文
摘要:
链表 算法 通俗定义: 解题的方法和步骤 狭义定义: 对存储数据的操作 对不同的存储结构,要完成某一个功能所执行的操作是不一样的 比如: 要输出数组中所有的元素的操作和 要输出链表中所有元素的操作肯定是不一样的 这说明: 算法是依附于存储结构的 不同的存储结构,所执行的算法是不一样的 广义定义: 广 阅读全文
摘要:
计算机基础(补码) 原码 也叫符号-绝对值码 最高位0表示正数 1表示负数,其余二进制位是该数字的绝对值 原码简单易懂 加减运算复杂 存在加减乘除四种运算,增加了CPU的复杂度 零的表示不唯一 反码 反码运算不便,也没有在计算机中应用 移码 表示数值平移n位,n称为移码量 移码主要用于浮点数的阶码的 阅读全文
摘要:
什么是枚举 把一个事物所有可能得取值一一列举出来 怎样使用枚举 # include <stdio.h> //只定义了一个数据类型,并没有定义变量,该数据类型的名字是enum WeekDay enum WeekDay { MonDay,Tuesday,WednesDay,ThursDay,FriDay 阅读全文
摘要:
结构体 为什么需要结构体 为了表示一些复杂的事物,而普通的基本类型无法满足实际要求 什么叫结构体 把一些基本类型数据组合在一起形成的一个新的数据类型,这叫做结构体 如何定义结构体 3种方式,推荐第一种 # include <stdio.h> //第一种方式 struct Student { int 阅读全文
摘要:
动态内存分配 传统数组的缺点 1.数组长度必须事先制定,且只能是常整数,不能是变量 例子: int a[5]; //ok int len=5; int a[len];//error 2.传统形式定义的数组,该数组的内存程序员无法手动释放 3.在一个函数运行期间,系统为该函数中数组所分配的空间会一直存 阅读全文
摘要:
指针 表示一些复杂的数据结构 快速的传递数据 使函数返回一个以上的值 能够直接访问硬件 能够方便的处理字符串 是理解面向对象语言中引用的基础 指针就是地址,地址就是指针 地址就是内存单元的编号, 内存地址用十六进制表示 指针变量是存放地址的变量 指针和指针变量是两个不同的概念 但是要注意:通常我们叙 阅读全文
摘要:
变量的作用域和存储方式: 按作用域分 全局变量:在所有函数外部定义的变量叫做全局变量 全局变量使用范围:从定义位置开始到整个程序结束 局部变量:在一个函数内部定义的变量或者函数的形参,统称为局部变量 局部变量使用范围:只能在本函数内部使用 void f(int i) { int j=20; } 注意 阅读全文