程序员面试宝典学习笔记01
2019年9月15日,开始了程序员求职路上的第一步--刷题+恶补基础。各种原因导致我一直想要开始却一直延后。现在开始不知道是不是晚了,但不试试一定是没希望的。作为一个学生,别的不敢说,学习能力绝对没问题,拿出高考+考研的精神,还有什么东西是我学不会的???
网上大家都推荐程序员面试宝典这本书,今天正好到货(我的是第5版),准备一边刷题一边通读C++Primer这本书一边将自己所学记录下来。
俗话说好记性不如烂笔头,纸张会腐朽,计算机恒永久。
so,let's go !!
5.1 面试题1
为什么会有这种错误呢?程序的本意是想将main函数外部定义的变量i赋值给main函数里面定义的变量i。
但编译器编译时是先从main函数开始的(记住这一点),int i= i;这句话是定义变量并初始化的语句,其执行顺序是:
1.int i,首先定义一个整形变量,并为其分配存储空间。
2.执行变量初始化语句,这是个赋值语句,从左到右执行,将i 赋值给i。其本意是想将外面定义的全局变量(main函数外部定义的变量作用于整个函数周期称为全局变量,main函数内部定义的变量只能作用在main函数内部,出了main函数生命周期就结束了,我们称之为局部变量。)赋值给这个内部变量。但因为main函数内部定义了一个同名变量,所以程序在编译时不会向main函数外部去查找全局变量i,这就导致了我们在试图将一个刚定义却还没有初始化的变量,去用来作为一个值赋值给一个变量。所提才有errorC4700:使用了未初始化的局部变量‘i’。
当然下面这样做就是对的了。
另外,这里还涉及到一个知识点,虽然这里并未考察。
void main( ) 和int main()有什么区别呢?
void 中文翻译为“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。
如果函数没有返回值,那么应声明为void类型,int声明的函数,返回值必须为int 型。所以题目的 void main()函数体内部没有"return ;"这种语句。
总结本题所学:
1.全局变量、局部变量的作用域和作用周期区别?
2. 定义并初始化一个变量,程序在编译时是怎样的执行的?
3.void 和 int 在声明函数上的不同?
本来打算记录所学时并没有想这么多,但将理解转化为语言使人能明白的过程中,逐渐发现了这并不容易,它需要很多知识点的支持,希望我以后也能这样学习。不就题论题,发散思维,多思考为什么这样,其他方式行么。
希望我能坚持下去,也希望和我一样的程序员小白们能从中受益。发现不对之处,请联系我,大家一起讨论,好怕我会误导大家。。。
以上,谢谢。
程序员面试宝典学习笔记01相关推荐
- 【C++】王道程序员面试宝典学习笔记
第一章 数组 什么tm的,叫编译与链接? 堆:由程序员手动分配和释放,先进先出,若程序员不释放则程序结束时,系统释放. 栈:由编译器分配和释放 1.1 一维数组 初始化:若只初始化部分元素的话,后面的 ...
- 《程序员面试宝典》笔记一
一.this指针 this是一个指针,时时刻刻指向实例本身,相当于静态成员函数的一个隐含参数,不占用对象的空间. this本质是一个函数参数,只是编译器隐藏起形式的,语法层面的参数. this只能在成 ...
- 金九银十北漂记第2篇:《Java程序员面试宝典》读书笔记
尽信书,则不如无书.-–孟子 谈一谈这本书 <Java程序员面试宝典>是我接触的第一本讲解面试相关的书籍在看到这本书之前我就经常逛csdn的bbs,已经接触面试之类的知识.不过这本书还是 ...
- 程序员面试宝典笔记1-基本概念预处理,const与sizeof
程序员面试宝典笔记1-基本概念&预处理,const与sizeof 基本概念 赋值语句: i++: 类型转换 运算符问题 a,b交换与比较 其他 预处理 const sizeof 基本概念 赋值 ...
- Java程序员面试宝典笔记记录(1~3章概括)
文章目录 导言 求职前重要的两点 求职者注意的几个方面: 挑选offer考虑5点 后台开发人员面试需要补充和阅览的书籍 需备技能方面 需要阅读的书籍(针对Java) 结语 导言 本博文是对于何昊出 ...
- ASP.NET的几个试题(《C#与.NET程序员面试宝典》)
更多参考:博客园笔记 面试题1:ASP.NET是什么 ASP.NET不是一种语言,而是创建动态Web页的一种强大的服务器端技术,它是Microsoft.NET Framework中一套用于生成Web应 ...
- Java程序员面试宝典
第1部分 求职过程 古人云:凡事预则立,不预则废.机会都是垂青有准备的人的.为了得到一份满意的工作,大家一定要对整个求职过程有清醒的了解.把能够预见的.必须做的事情早一些做完,这样在大规模招聘开始的 ...
- java只会用不知道原理6_程序员面试宝典之14道初级Java面试题分享
程序员面试宝典之14道初级Java面试题分享 程序员面试宝典之14道初级Java面试题分享! 关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应 ...
- 《程序员面试宝典》精华 底层部分
<程序员面试宝典>精华 底层部分 正所谓取其精华,去其糟粕.本文谨记录下<程序员面试宝典>一些关键的知识点.易错点,对于一些虽然重要但书中没有解释清楚的地方不做记录.书里是没有 ...
最新文章
- awk的正则表达式提取
- myeclipse始终build workspace
- 商汤科技-数据运维工程师-提前批笔试题目汇总
- (原+转)ubuntu终端输出彩色文字
- 怎样使绝对定位的子元素铺满父元素并且子元素可以设置padding
- 蓝桥杯2020年第十一届C/C++省赛B组第二题-既约分数
- python基础——使用list和tuple
- (超详细,避免踩坑)如何使用freeMaker模板生成器处理图片以及文字替换
- IntelliJ IDEA常见问题解决办法汇总
- WiFi万能钥匙要做人与场景的连接器
- firefox 各个版本都在这里
- python翻页爬取豆瓣影评,翻页爬取豆瓣电影名称和评分
- Android连接逍遥模拟器
- 使用浏览器访问服务器shell(ssh方式)
- Android10.0 Binder通信原理(十)-AIDL原理分析-Proxy-Stub设计模式
- chaos engineering读书笔记
- linux多系统引导管理,Linux 多重引导MBR与系统引导管理器GRUB.docx
- python爬取唐诗
- :hover的知识点
- 科达录播服务器修改ip,科达视讯平台API使用说明