欢迎来到博主的新专栏——C语言与数据结构
博主id:代码小豪
在前两个专栏当中,博主已经大致的讲过了C语言中的大部分使用方法。大家都知道,学习英语时,首先掌握的是单词,随后学习语法,如此才能融会贯通的学习英语。如果学英文只会单词,那么阅读虽然不成问题,但是写作会让人抓耳挠腮。
在编程当中,语言的使用就是单词,数据结构和算法是语法。将两者融会贯通,编程问题的解决会更加得心应手。
这个专栏中的大部分数据结构和算法的代码实现博主将会用C语言来呈现,那么大伙可能就有疑问了。
我是学java的,我是要学python的,我要学java和数据结构,不学C语言。
实际上使用什么语言和学什么数据结构有关系吗?
这是一个误区
因为大部分算法或者数据结构是一个概念性的东西,无论用什么语言来写,它的原理是不变的,这就好比用不同的酒杯装同一瓶酒,这个酒的味道不会改变。
不过不同的编程语言,在实现某一个数据结构或者算法时,可能会有简易的区别。
虽然博主的观点是不同的编程语言的使用者也能观看这个专栏,但是由于不了解C语言的关键字还是会带来阅读上的不便。
为了减少这个问题带来的影响,在这个专栏中出现的算法和数据结构,博主将多使用画图的形式讲解原理,尽量只在代码实现上面使用C语言,尽可能避免使用C语言中的特性来解决问题。使大伙在阅读时更多的理解原理,而不是C语言。
在这个专栏中,涉及C语言的知识层面在这三个方面
(1)C语言的指针
C语言的指针是C语言与其他编程语言最特别之处。因为指针能够让使用者在内存层面上对数据进行处理,这也是博主选择从C语言学习数据结构的原因之一
(2)C语言的动态内存开辟函数
动态内存的数据非常的灵活,这个特点让动态内存上的数据经常出现在数据结构当中
(3)C语言的自定义类型
自定义类型能够当一个数据更加的全面,因为某些数据包括多个特点,以人为例,描述一个人的有身高,有姓名,有体重。如此的话便不能用已有的数据类型来描述这类数据,需要程序员去自定义数据的类型。