笔试
文章平均质量分 60
ymd378362996
这个作者很懒,什么都没留下…
展开
-
printf计算参数从右向左压栈
例子程序如下:#include int main(){ int arr[] = {6,7,8,9,10}; int * ptr = arr; *(ptr++) += 123; printf("%d, %d\n",*ptr,*(++ptr)); return 0;} 一开始,指针ptr指向第一个元素6,见语转载 2012-05-30 19:52:35 · 1741 阅读 · 0 评论 -
参数传递
参数传递函数的参数分为形参和实参两种.形参(即形式参数)出现在函数定义中;实参(即实际参数)出现在主调函数中.函数调用时,主调函数把实参的值传送给被调函数的形参,从而实现主调函数向被调函数的数据传送. ⑴关于形参与实参的说明①在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元.形参变量只有在被调用时才分配内存单元,在调用结束后,立即释放所分配的内存单元转载 2012-06-17 20:36:07 · 722 阅读 · 0 评论 -
指针和引用
指针与引用看上去完全不同(指针用操作符“*”和“->”,引用使用操作符“. ”),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢?首先,要认识到在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这转载 2012-06-15 21:04:09 · 345 阅读 · 0 评论 -
sizeof用法
sizeof在笔试面试的时候频频地出现,这也是对基础的一个考查。关于sizeof的文章很多,但感觉大家都没有好好总结下,本着“先行先赢”和“为人民服务”的精神,查找引用参考了很多文章,在这里总结一下,有错误或者遗漏的地方还得请高手多多指教,也不要因这这些问题误导别人,希望以后大家在学习的过程中也能节省些时间。一、概要sizeof是C语言的一种单目操作符(但有人也不这么以为,认为它是一种特殊转载 2012-06-05 14:33:59 · 771 阅读 · 0 评论 -
程序员面试宝典,如何删除代码的注释
程序员面试宝典上面的题目有很多是很经典的问题,可供我们思考,而且会对我们面试有很大好处。下面是第45页的一个题目:编写一个函数,实现把C/C++程序代码中的注释去掉,我开始看的时候总是看不懂,后来在网上看到一个网友详细的分析了其代码,但是我看了之后觉得有好多地方他分析的都不对,于是,我自己又花了半天的时间分析了一遍,觉得自己理解了,下面给出我的分析语句。如果还有不严谨的部分,请指教!转载 2012-05-31 17:48:52 · 2598 阅读 · 1 评论 -
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?
首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该原创 2012-05-31 15:09:11 · 498 阅读 · 0 评论 -
交换a,b值,并且不用第三变量
第一种:a=a^b;b=a^b;a=a^b;证明:证明:1. 执行第一行,a的值为 a^b 了// 2. 再执行第2行,b = b^a = b^(a^b) = a^b^b = a^0 = a,现在b的值为a了// 3. 接着执行第3行,a = a^b = (a^b)^a = a^a^b = 0^b = b,现在a的值为b了 第二种:a=a+b原创 2012-05-31 10:48:20 · 680 阅读 · 0 评论 -
x&(x-1)含义
求下面函数的返回值(微软) -- 统计1的个数-------------------------------------int func(int x){ int countx = 0; while(x) { countx++; x = x&(x-1); } return countx;}转载 2012-05-29 22:16:59 · 729 阅读 · 0 评论 -
程序员面试题之从字节截断谈起
在此通过一个例子引入,请看下面的例子: 运行后的结果如下所示:0x00000078,0x00000078。可是当把a的值改为0x00000088后得出的结果改变了:0x00000088,0xFFFFFF88,这是什么原因呢?经过多方查找和测试,最后找到了相关的解释。要了解这个原理我们现补充一下关于大端法(big endian)和小端法(little endia转载 2012-05-30 21:02:32 · 549 阅读 · 0 评论 -
值传递,地址传递,引用传递
c语言值传递,地址传递,引用传递收藏总结:对于函数来说,值传递就是一个人来了,给你一些数据,你对数据处理。地址传递就是你通过地址找到一个人,然后直接对这个人处理。而引用传递就是你要直接对一个人进行处理,通过名字对人访问,但你不知道那个人叫什么,就先起个随便的名字。谁来了,他的别名就是这个名字。但通过这个别名对人处理有一些限制,相比地址对人全权操作安全。另一段别人的解释:值传递、地址传递转载 2012-06-17 21:35:30 · 540 阅读 · 0 评论