本人某双非大学本科毕业,专业是电子信息工程。因当年迷失自我,缺少对自身的规划,为了不让毕业即失业的悲剧发生,为了不让父母为自己工作操心,就草草的进了一家民营的通信公司,做通信工程师,见证了通信行业由4G的辉煌走向5G的瓶颈。而自己回过头来一看,发现自己几年工作下来,即没有积累到很牛的技术,也没有走到初级管理层,自己发展很缓慢。我26了,父母也年纪越来越大,但自己还没有拿的出手的能力来接这个家担子,于是就趁今年有时间,就辞职,好好的想一想自己以后的路该怎么走,不能再温水煮青蛙的混下去了。
6月底离职,现在已经过去了1个多月了,期间我一边学习,一边投简历找工作,同时也在不断的反思自己,重新认识自己。从一开始想往网络运维、网络安全方面发展,到后面直接往C开发方向发展,我逐渐的认识到自己还是适合走纯技术路线。
为什么要往C开发方向发展呐?一是我有C编程的基础,而是看完郝斌老师的视频,解除了我对编程开发的误解。之前我一直以为要想学好编程必须要会算法,感觉自己很笨,对算法没有一点头绪,现在才知道和写作文一样,认识字并不能写出好文章,需要不断模仿学习,然后形成自己的风格。算法也一样,需不断的学习基础知识,了解计算机运行原理,模仿借鉴已有算法的思想,通过大量的练习,才能写出自己的算法。因此,这坚定我学习C的决心和信心。
尽管目前我还没有找到工作,总是被人家以缺少开发经验为由拒绝,但是我找到了自己的发展方向,我就可以不断的积蓄力量,等待机会的到来。种一颗树,最好的时间是10年前,其次就是现在,我相信现在并不晚。谨以此文,献给自己,与君共勉!
下面先简单分享一些,学习过程中的一些重点知识:
1.变量的本质就是内存中一段存储空间;变量的数据类型就是向内存申请存储空间的大小。内存是在操作系统的统一管理下使用的。
如 char ch = 'a'; 向内存申请1个字节(8个bit位),用来存放字符 a;
int i = 1; 向内存申请4个字节(32个bit位),用来存放整数 1;
2.常量
1)字面常量 如 2;
2)const修饰常变量,const常属性
const int *p , int *const p , int const *p区别
a. const int *p ⇔ int const *p
b. const int *p含义 p是指向常量整形的指针;
c. int *const p含义 p是指向int的常量指针;
d. 常量指针:const在*前面,表示不能通过指针来改变变量的值;可以指针常量和非 常量;
e. 常指针:const在*后面,表示指针是一个常量,不能改变指针的指向,可以改变指针所指 向变量的值;不可以指向常量;
3)#define 定义的标识符常量
#define MAX 10 //预编译阶段,和# include一样,方便程序中经常使用的常量修改;
4)枚举常量 enum 把所有的可能取值一一列举出来;
3.static
1)static 修饰局部变量,局部变量生命周期延长;
2)static 修饰全局变量,改变了变量的作用域,让静态的全局变量只能在自己所在的源文件内 部使用,出了源文件就无法使用;
3)static修饰函数,改变了函数的链接属性;外部链接属性——内部链接属性
4.指针
1)指针就是地址,是内存单元的编号。
2)指针类型决定了进行解引用操作时,能够访问内存空间的大小。
3)野指针 :指针指向的位置是不可知的;
成因:a.未初始化;b.指针越界访问;c.指针指向的内存空间被释放;
不足之处,请多多指教!