- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一点总结
1. 指针在函数中调用malloc()分配的内存是放在数据区(堆中)而非堆栈区,所以当退出函数时,该内存依旧存在,只能通过free()释放它,而那些通过结构定义的的结构体(例如:struct msginfo buf),并且在函数体中做了初始化的,这个buf所代表的内存是放在堆栈中的,退出函数后就被释放了。2. const 指针和指向 const的指针(1) 指向 const的指针例如: const int *x , 表示x是一个指针,它指向一个const int,这里不需要初始化,因为x可以指向任何东西,但它指向的东西不能被改变(也就是说x的内容不能变),int const * x与上面的定义是一样的(2 ) const指针例如: int d=1int* const x=d这样就使该x指针变为了一个const指针,这个指针必须要有初始值,并且该指针在其寿命期间是不能改变的,但其所指向的内容可以改变,比如*x=33.指针和数组名的区别:(1) 指针是个变量,它可以任意赋值,而数组名却不能赋值(2) 对数组中内容的访问可以通过以下的方式进行:int a[3]={4,5,6};int I=0;I=*(a+2)而这样是错误的:I=*(a++);这是因为a++等价于a=a+1,前面说了数组名是不能赋值的a
基础理论的笔试真题,常考
1.? ? static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域2.? ? 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。3.? ? 描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性4.? ? 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈5.? ?什么是平衡二叉树?左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于16.? ?堆栈溢出一般是由什么原因导致的?没有回收垃圾资源7.? ?什么函数不能声明为虚函数?constructor8.? ?冒泡排序算法的时间复杂度是什么?O(n^2)9.? ?写出float x 与“零值”比较的if语句。if(x0.000001x-0.000001)10.? ?Internet采用哪种网络协议?该协议的主要层次结构?tcp/ip 应用层/传输层/网络层/数据链路层/物理层11.? ?Internet物理地址和IP地址转换采用什么协议?ARP (Address Resolution Protocol)(地址解析協議)12.IP地址的编码分为哪俩部分?IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
1、局部变量能否和全局变量重名?答:能,局部会屏蔽全局。要用全局变量,需要使用::局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内2、如何引用一个已经定义过的全局变量?答:extern可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?答:可以,在不同的C文件中以static形式来声明同名全局变量。可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错4、语句for( ;1 ;)有什么问题?它是什么意思?答:和while(1)相同。5、do……while和while……do有什么区别?答:前一个循环一遍再判断,后一个判断以后再循环6、请写出下列代码的输出内容#i ncludestdio.hmain(){int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf(b,c,d:%d,%d,%d,b,c,d);return 0;} 答:10,12,1201、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?全局变量(外部变量)的说明之前再冠以static 就构
文档评论(0)