当前位置:网站首页>指针学习日记(五)经典抽象数据类型、标准函数库
指针学习日记(五)经典抽象数据类型、标准函数库
2022-07-22 18:10:00 【潇湘夜雨寒】
抽象数据类型(ADT)是C程序员不可或缺的工具,这是由他们的属性所决定。
这类ADT有链表,堆栈,队列,树等。
内存分配:
所有ADT都需要确定一件事情——如何获得内存来存储值。有3种可选方案:
1.静态数组:长度固定,最为简单
2.动态分配的数组:可以运行时再决定数组的长度。如果需要的话,可以分配一个新的更大的数组,再把原来数组元素复制到新数组,然后删除原先的数组,从而动态改变数组长度的目的。
3.动态分配的链式结构:提供了最大程度的灵活性,这种方式对元素的数量几乎无限制,但是链式结构的链接字段需要消耗一定的内存,在链式结构中访问一个特定元素的效率不如数组。
以上内容基本上涉及到数据结构了,动态分配毫无疑问与指针密切相关,在此就不过多的描述三类。但毫无疑问,学习指针可以更好的理解此类结构。
标准函数库是一个工具箱,极大扩展了C程序员的能力。尽管后来C++的出现,使得C语言部分函数库出现了改变,但大体上并未太大变动,在此,写一些个人认为比较有趣的函数库。
字符转换<stdlib.h>
int atoi(char const string);
long int atol(char const string);
long int strtol(char const* string,char **unused,int base);
atoi和atol差不多,都是将字符串转换为数值,只是前者返回int型后者返回long int型。
strtol()中的base是指进制,如12表示12进制,10表示10进制。
若base16进制那么“a,b,c,d,e,f”为合法字符。
例如x=strtol(" 590bear",next,12);
x的值为9947,首先,590b是合法字符,因为12进制,所以b也是合法字符。
然后e是非法字符,到此程序结束,将e存入到next所指向的变量中。
处理器时间<time.h>
clock_t clock(void);
返回从程序开始执行起处理器所消耗的时间
边栏推荐
猜你喜欢
随机推荐
来访人员基本流程
Selenium基础知识 自动登录百度贴吧
Shell programming specifications and variables
BeanShell 内置变量 ctx
源码编译安装LAMP
Common test case methods
File类的使用,常用API及如何遍历目录及子目录
DHCP原理与配置
The only bug at home
Process of using Zen
指针学习日记(四)使用结构与指针(链表)
關於後臺掛載,進程管理的學習
Basic process of visitors
Internet Explorer cross domain settings
Easy to understand, master interface automation-01
迷茫的五月
idea中GBK代码转换成UTF-8格式 Ctrl+C+V一秒 解决单个代码文件转义 完美解决方法
数字验证码识别完成自动化登录
À propos du montage de fond, de la gestion des processus
Operation of numerical variables and special variables


![[Huang ah code] getting started with MySQL - 1. SQL execution process](/img/01/8167dc72aac0820220284eaf5ed918.png)






