C语言
文章平均质量分 62
JCRunner
梦想还是要有的,万一实现了呢?
透过现象看本质。
一步一步向大牛靠拢。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux 下清除缓冲区
如何清空输入缓冲区的内容 C标准规定 fflush()函数是用来刷新输出(stdout)缓存的。对于输入(stdin),它是没有定义的。但是有些编译器也定义了 fflush( stdin )的实现,比如微软的VC。其它编译器是否也定义了 fflush( stdin )的实现应当查找它的手册。GCC编译器没有定义它的实现,所以不能使用 fflush( stdin )来刷新输入缓转载 2015-03-19 20:29:17 · 1042 阅读 · 0 评论 -
判断cpu大小端
一、大小端解析 1、端模式出自Jonathan Swift书写的《格列佛游记》一书,这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。 2、原创 2015-03-24 07:44:03 · 909 阅读 · 0 评论 -
C语言中的sizeof
摘自:http://c.biancheng.net/cpp/html/438.htmlsizeof 是关键字不是函数,其实就算不知道它是否为32 个关键字之一时,我们也可以借助编译器确定它的身份。看下面的例子: int i=0;A),sizeof(int); B),sizeof(i); C),sizeof int; D),sizeof i;毫无疑问,32 位系统下A),B)转载 2015-04-07 18:10:25 · 769 阅读 · 0 评论 -
C语言数组名与指针
摘自:http://tech.163.com/05/0823/11/1RR94CAS00091589.html引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进转载 2015-05-08 15:15:04 · 614 阅读 · 0 评论 -
C语言声明,定义,赋值,初始化
摘自:http://blog.youkuaiyun.com/zlhy_/article/details/8442573我想不管是现在学C系语言的人,还是学习Java等以及其他语言的人最初的入门语言应该都是C语言吧。C语言的难易程度是否适合作为编程入门语言我恐怕没有这个能量来论述一番。我想说的是C语言中的这几个名词(RT)自从最开始出现就一直萦绕在耳边,停留在口头上,但却又总是分不清,道不明的。最近转载 2015-05-08 11:22:05 · 5032 阅读 · 0 评论 -
C语言 关于strcpy和strncpy
摘自:http://blog.sina.com.cn/s/blog_6a22365901012bkl.htmlstrcpy ,strncpy ,strlcpy地用法好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式。1. strcpy我们知道,strcpy 是依据 \0 作为结束判断的,转载 2015-05-11 10:10:15 · 1089 阅读 · 0 评论 -
C语言中的const
我只要一听到被面试者说:"const意味着常数",我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着"只读"就可以了。尽管这个答案不是完全的答案,但我接受它作为一个转载 2015-03-21 10:34:34 · 544 阅读 · 0 评论 -
C语言字符串转无符号int,字符串转有符号int
摘自:http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552011631111739570/字符串转换成数字,atoi、atol、atoll(都是带符号的类型)和strtol、strtoll(都是带符号的类型)和strtoul、strtoull(都是不带符号的类型) 将程序的实现中,我们转载 2015-05-06 15:21:48 · 8845 阅读 · 0 评论 -
C语言中长度为0的数组
转载:http://blog.youkuaiyun.com/zhaqiwen/article/details/7904515C语言中长度为0的数组前面在看Xen的源码时,遇到了一段代码,如下所示:注意上面最后一行的代码,这里定义了一个长度为的数组,这种用法可以吗?为什么可以使用长度为0 的数组?长度为的数组到底怎么使用?……这篇文章主要针对该问题进行简单的讲解。废话不多说了,现转载 2015-05-06 14:04:41 · 1072 阅读 · 0 评论 -
C语言函数名与函数指针详解
摘自:http://c.biancheng.net/cpp/html/496.html一、通常的函数调用一个通常的函数调用的例子:/* 自行包含头文件 */void MyFun(int x); /* 此处的声明也可写成:void MyFun(int) */int main(int argc, char* argv[]){ MyFun(10); /* 这里是调转载 2015-05-14 17:12:54 · 749 阅读 · 0 评论 -
C函数关于qsort最后一个函数指针参数指向的函数的返回值和升序排序的关系
void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));关于最后一个参数是一个函数指针int cmp ( const void *a , const void *b ){return *(int *)a - *(int *)b;}那么问题来了。。。。1:ret原创 2015-05-14 17:02:00 · 1608 阅读 · 0 评论 -
C语言如何取一个数的负数
查看链接 https://www.zhihu.com/question/38751834/answer/82306412原创 2016-02-05 16:51:24 · 13317 阅读 · 0 评论 -
C语言返回多个值
百度上下载的,不知道源自谁。。。笔者从事C语言教学多年,在教学中学生们常常会问到如何编写具有多个返回值的C语言函数。编写有多个返回值的函数是所有C语言教材里均没有提到的知识点,但在实际教学与应用的过程中我们都有可能会遇到这样的问题。有学生也尝试了不少方法:如把多个需要返回的值作相应的处理后变成一个可以用return语句返回的数据,再在主调函数中拆开返回的数据使之变成几个值;或者把需要返回多个值转载 2015-03-24 08:38:57 · 3656 阅读 · 0 评论 -
C语言调试宏技巧
#define PRINT(x) printf(" " #x " = %d\n", x);#define PRINT(x)#x里的#表示将x变为字符串;第二句用来将所有的调试语句去掉。原创 2015-03-23 09:53:15 · 1326 阅读 · 0 评论 -
C语言的存储类别
摘自:http://c.biancheng.net/cpp/html/63.html动态存储方式与静态动态存储方式前面已经介绍了,从变量的作用域(即从空间)角度来分,可以分为全局变量和局部变量。从另一个角度,从变量值存在的作时间(即生存期)角度来分,可以分为静态存储方式和动态存储方式。静态存储方式:是指在程序运行期间分配固定的存储空间的方式。动态存储方式:是在程序运行期转载 2015-03-21 18:14:45 · 889 阅读 · 0 评论 -
C语言中的volatile
关键字volatile有什么含意?并给出三个不同的例子。一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1) 并行设备的硬件寄存器(如:状态寄存器)2) 一个中断服务子程序中会访问到的非转载 2015-03-21 14:40:56 · 907 阅读 · 0 评论 -
C语言的register
摘自:http://c.biancheng.net/cpp/html/2864.html一般情况下,变量的值是存储在内存中的,CPU 每次使用数据都要从内存中读取。如果有一些变量使用非常频繁,从内存中读取就会消耗很多时间,例如 for 循环中的增量控制:int i;for(i=0; i1000; i++){ // Some Code}执行这段代码,CPU 为了获得转载 2015-03-21 17:35:51 · 1820 阅读 · 0 评论 -
C语言中的extern
在所有的代码块(函数、if 块、switch 块等)之外定义的变量称为全局变量,它的作用范围默认是整个程序,也就是所有的源文件,包括 .c 和 .h 文件。如果你一直在编写单个 .c 文件的程序,那么请注意,全局变量的作用范围不是从变量定义处到该文件结束,在其他文件中也有效。虽然全局变量的作用范围是整个程序,但是如果希望在 a.c 中使用 b.c 中的变量,也必须先进行声明。声明使转载 2015-03-21 17:16:46 · 790 阅读 · 0 评论 -
C语言中的内存组织方式
摘自:http://c.biancheng.net/cpp/html/2857.html我们知道,C程序开发并编译完成后,要载入内存(主存或内存条)才能运行(请查看:载入内存,让程序运行起来),变量名、函数名都会对应内存中的一块区域。内存中运行着很多程序,我们的程序只占用一部分空间,这部分空间又可以细分为以下的区域:内存分区说明程序代码区(cod转载 2015-03-21 18:02:31 · 1054 阅读 · 0 评论 -
C语言中scanf函数中%[]格式控制符用法 scanf清除缓冲区
摘自:http://blog.sina.com.cn/s/blog_6757155901013068.htmlscanf()函数中%[]格式控制符用法时间:2011-05-23 17:15来源:武汉华嵌 作者:武汉华嵌技术部 点击: 193次scanf() 函数中 %[] 格式控制符用法 作者:武汉华嵌-嵌入式培训中心 助理讲师 张老师 此格式控制符的基本格式为: %[sc转载 2015-03-21 22:46:54 · 1575 阅读 · 0 评论 -
C语言内联函数
摘自:http://c.biancheng.net/cpp/html/933.html引入内联函数的目的是为了解决程序中函数调用的效率问题。函数是一种更高级的抽象。它的引入使得编程者只关心函数的功能和使用方法,而不必关心函数功能的具体实现;函数的引入可以减少程序的目标代码,实现程序代码和数据的共享。但是,函数调用也会带来降低效率的问题,因为调用函数实际上将程序执行顺序转移到函数所存放在转载 2015-03-22 21:45:53 · 823 阅读 · 0 评论 -
C 语言中的static
Static在C语言中,关键字static有三个明显的作用:1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使转载 2015-03-21 10:24:08 · 572 阅读 · 0 评论 -
linux C(嵌入式) 面试题
先发基本问题,再发编程问题..........想成为嵌入式程序员应知道的0x10个基本问题:预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法转载 2015-03-21 10:12:31 · 754 阅读 · 0 评论 -
C语言 a++为什么不能作为左值?
摘自:http://blog.youkuaiyun.com/wangwei890702/article/details/202102411)首先说左值和右值的定义:变量和文字常量都有存储区,并且有相关的类型。区别在于变量是可寻址的(addressable)对于每一个变量都有两个值与其相联:1).它的数据值,存储在某个内存地址中。有时这个值也被称为对象的右值(rvalue,读做are-value转载 2015-03-22 17:38:08 · 1913 阅读 · 0 评论 -
Segmentation fault (core dumped)
摘自:http://blog.youkuaiyun.com/dlutxie/article/details/8868883转自:http://blog.chinaunix.net/uid-26748613-id-3182113.html参考:http://manpages.ubuntu.com/manpages/lucid/man5/core.5.html有的程转载 2015-01-16 12:18:59 · 961 阅读 · 0 评论 -
游戏扫雷编程之细节
最近学了一点gtk,在学校学了一些C语言,想用所学的东西写一点东西,网上搜了好些,就先从扫雷入手。 参考了很多资料:最后决定参考http://www.gymsaga.com/project/761.html这个仁兄的程序。本人新手,再编程中会有很多问题,但是编程的乐趣就在于发现问题,解决问题。所以一步一步的向前走吧。在编程过程中遇到很多细节的问题,现在想写下来:1:双击已经点原创 2015-01-16 12:21:08 · 1716 阅读 · 0 评论
分享