初学嵌入式

初学嵌入式,第1张

1.初识Linux

我们平时使用的更多的还是Windows系统或者苹果系统,个人再此之前就一直使用Windows系统,对于Linux系统只是略有耳闻,并没有真正的使用过,对它的了解更是少之又少;通过一段时间的学习,也使得我逐渐认识了Linux,他与Windows还是有些不一样的,比如说Windows的大体结构是分区,而Linux的结构则是目录,接下来就来分享一下个人这一阶段的一些学习历程吧。

在刚开始学习的过程中,还是颇有些不习惯的;毕竟从熟悉的Windows界面的 *** 作,就直接来到了全是命令行模式的Linux当中,这里所用到的那些 *** 作全部都是使用命令来进行的,就比如说切换目录便是一个 cd ../的命令,执行程序则为 ./xx 等等;不过也正所谓熟能生巧嘛,很多事情都是如此,在这里也不例外,既然不熟悉那就多用几次,用多了自然就熟练了,甚至在使用熟练之后你还会感觉这样的模式还很舒服,一直都在编写代码,用的更多的也是键盘,在Windows当中我们也会设置很多的快捷键来方便进行 *** 作,在这里面就相当于都是写快捷键了,故而用熟练了之后甚至会感觉到有些微微的亲切感。所以说,不要去害怕一些新的事物,或许只是你不太了解,真正进去了解了之后你便会发现并没有它的起点并没有想象的那么高。

2.起步预科c

Linux是我们使用的平台,那么C语言便是在这个平台上面要使用的工具,想要在Linux上实现某项功能,那么掌握C语言就是必不可少的。在预科c当中,主要是认识C语言,带你了解这个高级编程语言的一些基础用法,主要是简单介绍了Linux以及C语言的基础知识,比如认识ASCII表,熟悉进制之间的转换,再到对逻辑运算、算术运算的掌握、函数的用法(值传递、地址传递)、以及指针的介绍。在这些时间里,主要的目的并不是快速的掌握,而是用来会议或者是了解入门,先知道了这些之后便是慢慢的开始。

3.Linux基础

再次主要是学习了一些基础的用法,毕竟连使用的平台都不了解的话,那就无从下手后面的学习和应用了。最后也做了一点小小的实验来促进一些对其的了解。

4.高级c

在这一篇章里,就衔接上了之前的预科c,第一个需要重点掌握的便是函数的高级用法,也就是前面所提到的值传递以及地址传递,更为重要的是对指针的灵活运用,接下来便谈谈个人的初略见解:

一个函数如下,

假设前面定义a=1,b=2;

int add(int a,int b)

{

int sum ;

sum = a+b;

return sum;

a=10;

}

这是一个比较简单的相加函数,此处使用的是值传递的方式,最终得到的sum为2,这是没有太多疑问的,可最后a的值是为10还是1呢,当然还是1,因为所用到的为值传递,传到函数里面的只是这个数值而已,真正的a还是原来的1,并没有改变。如果使用的是地址传递的话那在函数里的修改则会引起原来数值相应的改变,如:

int add(int *a,int *b)

{

int sum ;

sum = *a+*b;

return sum;

*a=10;

}

那这样最后a的数值便成为了10了。

而在指针当中主要还是掌握多级指针的运用,这一点会在后面的数据结构当中大量使用到,说到指针,将其完全解析其实就是内存单元中以字节为单位进行逐一编码的地址,多级指针无非是对地址的多次套用,说白了就是套娃,明白了这一点那基本就没有太大的问题了。

在这中间还使用到了一个Makefile,这主要是帮助我们更方便进行编译的一个工具,有了此对于程序的编译和纠错都有很大的好处。

5.数据结构

数据结构总共就是几个大点,顺序表,链表,这里链表又分为单向(循环)链表、双向(循环)链表、内核链表,树,以及最后的查找。

顺序表是一种非常好的线性存储结构,查找起来也是非常的方便,但它所有的不足便是一定需要一个连续的存储空间来进行存储,这样就对它的扩展使用造成了很大的不便。

鉴于以上原因,便引出了链表,那就是在一个结构体中,在定义到一个结构体类型的地址,一次来便可以通过一个节点来找到另一个节点了,这样对存储空间是否连续也就没有太大的限制了,链表也就比顺序表要灵活很多。

树主要是以二叉树为主,进行一些遍历 *** 作,遍历方式又先序、中序、后序遍历三种方式,在查找中则需要注意一些查找的方法和方式,需要记忆和运用相结合。

6.文件IO

在这个模块当中,以函数为主,更多的在于认识输入输出,以及读写 *** 作所需要注意的地方,在标准输入之中就特别需要了解到缓冲区这一个概念,以及如何刷新缓冲区,或许你会一些关于scanf输入陷阱之类的印象,比如说在要求输入整数时,结果输入了一个字符,那么就会无法读取,就需要一个getchar()来接受,这一点的主要原因就在于缓冲区这里,总之在这一点之中就是要弄懂这些函数的用法和返回值和注意事项,因为这一部分的函数真的很多。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/707107.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-24
下一篇2022-04-24

发表评论

登录后才能评论

评论列表(0条)

    保存