面试题搜集
jalen_king
记录点滴,分享沉淀
展开
-
单链表的操作
//--------------------------------------------------------输出单链表最后N项:定义两个指针p1,p2,相差N个,同时前进,p2到头时,p1就是想要的节点位置。要考虑链表长度//--------------------------------------------------------找出单链表中间项:定义两个指针p1,p2。原创 2014-04-06 09:17:03 · 648 阅读 · 0 评论 -
malloc(0)参数为0的情况,malloc分配最小空间,free真的释放内存了?
malloc()参数为0的情况 问题来自于《程序员面试宝典(第三版)》第12.2节问题9(这里不评价《程序员面试宝典》,就题论题):下面的代码片段输出是什么?为什么?char *ptr;if((ptr = (char *)malloc(0))==NULL) puts("Got a null pointer");else puts("Got a vali原创 2014-04-08 15:48:21 · 2225 阅读 · 0 评论 -
宏定义
宏定义(转) 2010-06-29 22:36:46| 分类: 高性能程序设计优| 订阅【摘要】本节介绍了嵌入式系统程序设计中采用宏定义进行常量定义的必要性。说明了宏常量定义的基本规则以及如何采用依赖关系定义宏常量来保证其可移植性和裁减性。最后介绍了如何利用宏定义实现掩码偏移量等来高效的进行位操作。 【关键词】嵌入式,可移植性,宏定义,依赖关系,转载 2014-04-09 20:24:24 · 741 阅读 · 0 评论 -
数组a[N],存放了1 至N-1 个数,其中某个数重复一次
数组a[N],存放了1 至N-1 个数,其中某个数重复一次 数组a[N],存放了1 至N-1 个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数原型:int do_dup(int a[],int N) 方法一:[cpp] view plaincopy//好算法,因为第二个重复的数字其位置肯转载 2014-04-08 20:52:22 · 1950 阅读 · 0 评论 -
自加自减
自加自减学习#include void main() /*主函数*/{ int a,b,c,d; a=5; b=5; c=(a++)+(a++)+(a++); d=(++b)+(++b)+(++b); printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);}复制代码转载 2014-04-08 19:48:40 · 981 阅读 · 0 评论 -
实参和其对应的形参各占用独立的存储单元?
关于函数形参的问题?以下正确的说法是:在C语言中( )。A. 实参和其对应的形参各占用独立的存储单元B. 实参和与其对应的形参共占用一个存储单元C. 只有当实参和与其对应的形参同名时才共占用存储单元D. 形参是虚拟的,不占用存储单元答案:A原创 2014-04-07 20:59:04 · 77796 阅读 · 5 评论 -
linux C程序员 经典面试题(非常经典)
linux C程序员 经典面试题一想成为嵌入式程序员应知道的0x10个基本问题:预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define转载 2014-04-08 15:54:46 · 15925 阅读 · 0 评论 -
halt和shutdown
用halt和shutdown命令关闭linux 2008-10-23 09:35:46分类: LINUXhalt指令用来关闭系统,然后再通知内核是停止、重启、还是关闭电源。必要参数具体说明如下:-d 不在wtmp中记录-f 强制关机或者重启,不调用shutdown-h 让硬件保持standby的状态-i 关闭系统前先关闭网络系转载 2014-04-07 20:48:59 · 1020 阅读 · 0 评论 -
ARM 浮点运算,软浮点,硬浮点
ARM 浮点运算作者:程老师,华清远见嵌入式学院讲师。很多时候我们要处理的数据,不仅仅是整数和字符串,还有浮点数即小数。在多媒体数据处理方面表现的更多。是不是所有的CPU都支持,浮点运算呢?答案:不是。我们常常听到赢浮点和软浮点,这些到底说的是什么呢?下面我们就来一探究竟吧。在这里我们说的是ARM核浮点运算。(1)硬浮点(hard-float)编译器将代码直接编译成硬件浮点协处转载 2014-04-06 18:54:51 · 14826 阅读 · 1 评论 -
linux send与recv函数详解
linux send与recv函数详解1 #include 2 ssize_t recv(int sockfd, void *buff, size_t nbytes, int flags);3 ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags);recv 和send的前3个参数转载 2014-04-06 16:27:55 · 678 阅读 · 0 评论 -
面试总结,TCP和UDP分析
面试总结,TCP和UDP分析分类: linux系统2012-10-21 20:28 520人阅读 评论(0) 收藏 举报主要参看2篇博文:http://blog.csdn.net/dog250/article/details/6612496http://blog.csdn.net/dog250/article/details/6896949转载 2014-04-06 14:06:38 · 858 阅读 · 0 评论 -
多进程和多线程的区别,详细
多进程和多线程的区别分类: linux系统2012-10-20 18:07 954人阅读 评论(0) 收藏 举报多线程面试编程图像处理任务web服务关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”。这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有那么简单了,选的不好,会让你深受其害。所以他也是面转载 2014-04-06 14:04:13 · 896 阅读 · 0 评论 -
插入排序,冒泡排序,选择排序,快速排序
1.插入排序:取出待排序的元素放到一个temp,temp循环跟待排序的左边元素依次比较,比temp大就右移,小就把temp放入其后面,结束一轮循环for(i=first+1;i=first)&&(array[j]>temp)){array[j+1]=array[j];j--;}array[j+1]=temp;=============================================原创 2014-04-06 09:21:24 · 553 阅读 · 0 评论 -
指针笔试题
区分指针数组的好方法 2008-04-28 01:17:57| 分类: Linux & C|举报|字号 订阅a) 一个整型数(An integer) b)一个指向整型数的指针( A pointer to an integer) c)一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to a原创 2014-04-06 18:06:16 · 1913 阅读 · 0 评论 -
关于一道枚举笔试题(枚举的初始值赋值)
enum eEnum{eBase,e1,e2,e3 = 0,e4};void test(){cout cout cout cout }输出结果为:______A. 0 2 0 4 B. 0 2 0 1C. 0 0 0 1 D. -3 -1 0 1原创 2014-04-06 16:06:23 · 1609 阅读 · 0 评论 -
inline 内联函数
inline,内联函数,在运行的时候,不会作为函数处理,也就是不会实际上去做函数调用,而是将调用处展开 比如: inline int fun(){cout"hello" 调用: fun(); 将会展开: {cout"hello" 只适合于简单的函数,不适合太复杂的函数,因为不进行函数调用原创 2014-04-10 16:12:30 · 672 阅读 · 0 评论