C++
52coder
道貌何其深,岸然唯我真
展开
-
关键字static完全解析
在c语言中关键字static的意思是静态,它有三个明显的作用.1).在函数体内,静态变量具有“记忆功能”,即一个变量被声明为静态变量,在函数下次被调用时仍保留上次调用该函数时该静态变量的值.代码如下:/* Name: 52coder Copyright: 52coder.net Author: 尘世中迷途小书童 Date: 15/05/15 11:49 Descripti原创 2015-05-15 15:44:01 · 537 阅读 · 0 评论 -
C语言数组a[i]==i[a]
The C standard defines the [] operator as follows:a[b] == *(a + b)Therefore a[5] will evaluate to:*(a + 5)and 5[a] will evaluate to:*(5 + a)and from elementary school math we know原创 2015-05-07 21:34:49 · 1763 阅读 · 0 评论 -
C语言实现进度条
今天整理文件发现一个隐藏在硬盘角落里的一段神秘代码,运行之后发现这是一断让我打开眼界的程序。#include <stdio.h>#include <unistd.h>int main(){ int i; for(i=0;i<=100;i+=10) { printf("Percent completed:%3d%%\r",i); sleep原创 2017-08-20 22:15:15 · 3654 阅读 · 0 评论 -
关于作者
在CSDN上发布自己学习工作生活中遇到的问题,记录相关解决方法,如果能帮助到有需要的人我会万分高兴。因为我在工作中遇到了问题,查询中会优先参考CSDN,CSDN的博文帮助我解决了很多问题,在此感谢各位。我的个人博客地址是52coder.net,如果关于文章有任何疑问欢迎留言讨论。关于我:一个半路出家的IT从业人员,一个后知后觉的IT技术人员,现在努力,希望还不晚.目前主原创 2017-08-21 11:53:04 · 310 阅读 · 0 评论 -
细说指针
因为在工作中踩到了指针相关的坑,所以在这里记录下来问题产生的原因,以免再次遇到同样的错误。如果你对文章中的观点、内容存在不一样的看法,欢迎通过关于博主页面中的Email与我联系。需求:将代码提取成函数,代码如下:```mr_cfg_bsc_info_t *mir_list = NULL;mir_list在主函数中是一级指针的形式,我提取函数时接口用了二级指针如下原创 2017-09-26 00:21:24 · 215 阅读 · 0 评论 -
指针二三事
有同事今天问我一个指针的问题,没深究原因,下班回来静下心来分析分析,写下这篇文章,如有任何疑问请留言.问题一要实现一个函数,我们姑且理解成函数内部 malloc申请一块内存,然后针对这块内存做一系列操作,操作这部分姑且不用实现,我们要返回申请的这片内存的地址.version 1如果你拿到这个问题就立刻编写代码的话极有可能这么写:/* Name: 二级指针 C原创 2017-09-26 00:49:55 · 185 阅读 · 0 评论 -
编程练习
描述编写这样一个程序:接收来自标准输入的n条指令,指令有如下三种:a 后面跟一个整数,表示向集合插入一个数 d 后面跟一个整数,表示从集合删除一个数,集合中有多个指定数时,删除一个即可p 从小到大打印出集合中的数输入每行输入一条指令,注意指令可能不符合规范,整数可能超出C语言长整形范围,可能带符号,但长度不会超过100输出当输入指令为p时,从小到大输出集合中的数,当原创 2017-09-26 00:53:04 · 453 阅读 · 2 评论 -
Linux内核链表总结
本文参考内核代码2.6.9 List.h中相关代码,如有疑问欢迎评论.链表链表是线性表的一种,可以高效地在链表中的任意位置实时插入、删除数据。链表的开销主要是访问的顺序性和组织链的空间损失.通常链表数据结构至少应包含两个域:数据域和指针域,数据域用于存储数据,指针域用于建立与下一个节点的联系。内核代码2.6.9中链表结构定义如下:struct list_head {原创 2017-09-26 00:54:54 · 299 阅读 · 0 评论 -
GDB调试基本使用方法
文章转载自coolshell.cn,对相关内容根据自己理解有改动,原文请访问作者博客.GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成转载 2017-09-26 08:22:18 · 344 阅读 · 0 评论 -
C语言宏的高级用法
总结一下C语言中宏的一些特殊用法和几个容易出错的地方。由于本文主要参考GCC文档,某些细节在别的编译器可能有细微差别。宏基础宏仅仅是在C预处理阶段的一种文本替换工具,编译完之后对二进制代码不可见。基本用法如下:标示符别名#define BUFFER_SIZE 1024预处理阶段,foo = (char *) malloc (BUFFER_SIZE);会被替换成fo转载 2017-09-26 08:24:13 · 778 阅读 · 0 评论 -
C内存对齐
忙里偷闲在看《征服C指针》这本书,虽然这本书写的比较基础可以是还是从中发现了一些有意思的地方,不过当看到内存对齐这块时却产生了如下疑问.typedef struct{ int int1; double double1; char char1; double double2;}Hoge;那么问题来了,sizeof(Hoge)为多少?作者交代了原创 2017-09-26 08:26:33 · 314 阅读 · 0 评论 -
去哪网2015年春季校园招聘笔试题
请实现以下函数 int indexOf(int []array ,int x),给定一个循环有序的数组,请在这个数组中找到指定元素,找到的话返回下表,没有找到返回-1.该数组的特点是一个单调递增的数组向右循环移位形成的.举例说明,原数组是{4,8,13,20,23,34,41,52}.经过向右循环移位形成的数组可能是{23,34,41,52,4,8,13,20}或者{4,8,13,20,23,原创 2015-05-02 00:17:43 · 1704 阅读 · 0 评论 -
整型数的溢出
#include #include int main(){ printf("INT_MAX+1=%d\n",INT_MAX+1); printf("INT_MAX+INT_MAX=%d\n",INT_MAX+INT_MAX); printf("INT_MIN=%d\n",INT_MIN); printf("INT_MIN-1=%d\n",INT_MI原创 2015-05-02 00:12:39 · 1754 阅读 · 0 评论 -
笔试题:712的729次方的最后4位数是多少?
问题:设计一个程序,求出712的729次方的最后4位数是多少?大整数相乘问题,不能简单的乘,早就溢出了.所以要另辟蹊径.在相乘时每次取出后四位其余丢弃,不影响最后的四位数.源代码如下:#include #include using namespace std; int main(){int value = 1;for(int i=1;i<=729;++i){原创 2012-07-25 00:12:16 · 1655 阅读 · 5 评论 -
大整数加法
I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.InputThe first line of the input contains an integer T(1<=T<=20) which means the numbe原创 2012-07-25 00:17:36 · 878 阅读 · 0 评论 -
不用+、-、×、÷做加法
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/例如,5+17=22 首先,思考如何做十进制的加法.1)各位相加,不进位:相加后,个位为2(相加不要考虑进位),十位为1,最后相加的结果是12;2)有进位的,求进位值:个位中5+7有进位,然后左移一位,得到进位值是10;3)将前面两个加起来:12+10=22,刚好5+17=22. 两数之和,不能用四则运算,那么只能用位原创 2012-07-25 00:21:06 · 1019 阅读 · 0 评论 -
“火柴棍式”程序员面试题
有时候,有些面试题是很是无厘头,这不,又有一个,还记得小时候玩的的“火柴棍游戏”吗,就是移动一根火柴棍改变一个图或字的游戏.程序面试居然也可以这么玩,看看下面这个火柴棍式的程序面试题吧.下面是一个C程序,其想要输出20个减号,不过,粗心的程序员把代码写错了,你需要把下面的代码修改正确,不过,你只能增加或是修改其中的一个字符,请你给出三种答案。int n = 20; for(原创 2012-07-26 00:06:28 · 1358 阅读 · 13 评论 -
2012年好耶集团C/C++校园招聘试题
同学你好,感谢参加西安好耶C/C++笔试.如果你聪明,善于思考,对于问题有深挖根源的精神,有强烈的学习精神,上进精神,我想你就是我们要找的.C/C++试题部分1.详细描述全局变量和静态全局变量的区别2.请列举一个非比较排序,并描述其过程3.sprintf和snprintf函数的区别是什么?为什么提倡使用snprintf?4.请简述inline函数和宏原创 2013-04-16 08:35:27 · 1020 阅读 · 0 评论 -
折半查找
4.21号去参加阿里的实习生招聘,投递的岗位是c/c++方向,下午2点,我悠闲的从学校北门前往悦豪酒店,走到酒店后扫描二维码,去房间等待面试,面试的内容涉及面非常广。从linux命令,STL ,操作系统,c/c++语法,算法,包罗万象。下午迷迷糊糊面试完基本内容后面试官给了我一张纸和笔让我写两个算法,一:快速排序,二:折半查找。当然快速排序我写的还是很快的,可是当我写折半查找时悲剧发生了.原创 2015-04-30 23:28:44 · 599 阅读 · 0 评论 -
重载运算符
假如我们有如下结构体声明:struct CarType{ string maker; int year; float price;};假定我们将mycar声明为该结构的一个对象,并且为该对象的所有数据成员赋值,然后我们编写下面的代码:if(mycar>2000) coutC++不知道如何处理这段代码,C++并不知道是将myCar中的year与2000比较还是myCar中的p原创 2015-05-01 09:37:18 · 667 阅读 · 0 评论 -
Q04切分木棒
本文是程序员算法趣题一书Q04 C语言实现,由于该书中所给的代码是Javascripts与Ruby,故在今后的阅读中会记录部分习题的C语言实现。Q04问题后面的Column中介绍了深度优先搜索和广度优先搜索。深度优先搜索算法(英语:Depth-First-Search,简称DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻原创 2017-10-01 02:15:46 · 671 阅读 · 0 评论