数据结构
文章平均质量分 52
gzhu_wzb
不再更新,简书博客地址http://www.jianshu.com/u/8dad13d2b0fb
展开
-
typedef用法
#include//typedef 为数据类型重命名typedef struct Student { int age; int id; char name[20];}* PSTU , STU;//PSTU等价于struct Student*类型,STU等价于struct Student类型int main() { STU st; //相当于struct Student st原创 2017-02-12 20:05:10 · 226 阅读 · 0 评论 -
结构体与结构体变量
1、访问结构体变量的两种方式:见例一第一种:stu.id = 1001;第二种:pst->id = 99;第二种用的的证明如下:struct Student *pst;pst = &stu; //pst指向了stu,所以*pst等价于stupst->id = 99; //pst->id 等价于 (*pst).id,而(*pst).id等价于stu.id;原创 2017-01-23 01:04:58 · 1634 阅读 · 0 评论 -
malloc与free
/*动态分配int* pArray = (int *)malloc(sizeof(int) * len);1、malloc只有一个int类型的形参,表示请求操作系统分配的字节数。2、malloc函数的功能是请求分配sizeof(数据类型)*len个字节的内存,如果分配成功,则返回第一个字节的地址,分配失败返回null。3、malloc函数只能返回第一个字节的地址,所以我们必须把这个地址转原创 2017-01-23 01:44:06 · 281 阅读 · 0 评论 -
内存的使用
/*跨函数使用内存无论是主函数还是调用函数,变量所申请的内存空间在代码块结束或者程序结束之后,内存自动释放。而通过malloc向操作系统动态申请的内存,则需要通过free来释放内存空间。*/#include#includestruct Student { int age; int id;};struct Student* CreateStudent();void Sho原创 2017-01-23 12:43:53 · 233 阅读 · 0 评论 -
c语言数组实现ArrayList部分函数
#include#include //包含malloc函数#include //包含exit函数/*定义一个数据类型,该数据类型的名字叫做struct Array,该数据类型含有三个成员,分别是 pBase , len , cnt*/struct Array { /*ArrayList实现的组成元素*/ int* pBase; //存储数组第一个元素的地址 int len原创 2017-01-24 18:31:51 · 1025 阅读 · 0 评论 -
线性结构_链表
1、定义:n个节点离散分配;每个节点只有一个前驱结点,每个节点只有一个后续节点;首节点没有前驱结点,尾节点没有后续节点;2、专业术语:头节点:第一个有效节点之前的节点,方便对链表进行操作,并不存放有效数据,头节点的数据类型与首节点一致;首节点:第一个有效节点;尾节点:最后一个有效节点;头指针:指向头节点的指针变量;尾指针:指向尾节点的指针变量。原创 2017-03-19 15:39:50 · 417 阅读 · 0 评论 -
线性结构_栈
线性结构的应用--栈定义:一种可以实现先进后出的存取结构。类似于箱子,往箱子里面放书,后放的在顶部,可以先拿出来。分类:静态栈:以数组为内核动态栈:以链表为内核应用:函数调用,中断,表达式求值,内存分配,缓冲处理,走迷宫#include#include#includetypedef struct Node { int data; struct Node* pNext;}N原创 2017-03-19 15:41:10 · 387 阅读 · 0 评论 -
线性结构_循环队列
线性结构的应用--队列定义:一种可以实现先进先出的存储结构。分类:链式队列:用链表实现静态队列:用数组实现(循环队列)循环队列:1、静态队列为什么必须是循环队列:队列的结构是先进先出的,循环队列可对内存重复使用,减少对内存的浪费。2、循环队列需要几个参数来确定:2个参数:front和rear3、循环队列各个参数的含义这两个原创 2017-03-19 15:42:34 · 4156 阅读 · 0 评论 -
线性结构——用栈实现波兰表达式求值。
用栈实现兰波表达式求值原创 2017-04-14 22:57:57 · 861 阅读 · 0 评论