自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 C语言返回多个值

百度上下载的,不知道源自谁。。。笔者从事C语言教学多年,在教学中学生们常常会问到如何编写具有多个返回值的C语言函数。编写有多个返回值的函数是所有C语言教材里均没有提到的知识点,但在实际教学与应用的过程中我们都有可能会遇到这样的问题。有学生也尝试了不少方法:如把多个需要返回的值作相应的处理后变成一个可以用return语句返回的数据,再在主调函数中拆开返回的数据使之变成几个值;或者把需要返回多个值

2015-03-24 08:38:57 3536

原创 判断cpu大小端

一、大小端解析        1、端模式出自Jonathan Swift书写的《格列佛游记》一书,这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。        2、

2015-03-24 07:44:03 828

原创 C语言调试宏技巧

#define PRINT(x) printf(" "  #x "  = %d\n", x);#define PRINT(x)#x里的#表示将x变为字符串;第二句用来将所有的调试语句去掉。

2015-03-23 09:53:15 1226

转载 C语言内联函数

摘自:http://c.biancheng.net/cpp/html/933.html引入内联函数的目的是为了解决程序中函数调用的效率问题。函数是一种更高级的抽象。它的引入使得编程者只关心函数的功能和使用方法,而不必关心函数功能的具体实现;函数的引入可以减少程序的目标代码,实现程序代码和数据的共享。但是,函数调用也会带来降低效率的问题,因为调用函数实际上将程序执行顺序转移到函数所存放在

2015-03-22 21:45:53 781

转载 C语言 a++为什么不能作为左值?

摘自:http://blog.csdn.net/wangwei890702/article/details/202102411)首先说左值和右值的定义:变量和文字常量都有存储区,并且有相关的类型。区别在于变量是可寻址的(addressable)对于每一个变量都有两个值与其相联:1).它的数据值,存储在某个内存地址中。有时这个值也被称为对象的右值(rvalue,读做are-value

2015-03-22 17:38:08 1802

原创 gtk+ 鼠标进入离开按钮信号

#include#includevoid enter_button(GtkWidget *widget, gpointer data){ g_print("enter button\n");}void leave_button(GtkWidget *widget, gpointer data){ g_print("leave button\n");}int main(int a

2015-03-22 14:02:23 1535

转载 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 1468

转载 C语言的存储类别

摘自:http://c.biancheng.net/cpp/html/63.html动态存储方式与静态动态存储方式前面已经介绍了,从变量的作用域(即从空间)角度来分,可以分为全局变量和局部变量。从另一个角度,从变量值存在的作时间(即生存期)角度来分,可以分为静态存储方式和动态存储方式。静态存储方式:是指在程序运行期间分配固定的存储空间的方式。动态存储方式:是在程序运行期

2015-03-21 18:14:45 792

转载 C语言中的内存组织方式

摘自:http://c.biancheng.net/cpp/html/2857.html我们知道,C程序开发并编译完成后,要载入内存(主存或内存条)才能运行(请查看:载入内存,让程序运行起来),变量名、函数名都会对应内存中的一块区域。内存中运行着很多程序,我们的程序只占用一部分空间,这部分空间又可以细分为以下的区域:内存分区说明程序代码区(cod

2015-03-21 18:02:31 957

转载 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 1642

转载 C语言中的extern

在所有的代码块(函数、if 块、switch 块等)之外定义的变量称为全局变量,它的作用范围默认是整个程序,也就是所有的源文件,包括 .c 和 .h 文件。如果你一直在编写单个 .c 文件的程序,那么请注意,全局变量的作用范围不是从变量定义处到该文件结束,在其他文件中也有效。虽然全局变量的作用范围是整个程序,但是如果希望在 a.c 中使用 b.c 中的变量,也必须先进行声明。声明使

2015-03-21 17:16:46 710

转载 C语言中的volatile

关键字volatile有什么含意?并给出三个不同的例子。一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1) 并行设备的硬件寄存器(如:状态寄存器)2) 一个中断服务子程序中会访问到的非

2015-03-21 14:40:56 791

转载 C语言中的const

我只要一听到被面试者说:"const意味着常数",我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着"只读"就可以了。尽管这个答案不是完全的答案,但我接受它作为一个

2015-03-21 10:34:34 463

转载 C 语言中的static

Static在C语言中,关键字static有三个明显的作用:1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使

2015-03-21 10:24:08 517

转载 linux C(嵌入式) 面试题

先发基本问题,再发编程问题..........想成为嵌入式程序员应知道的0x10个基本问题:预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)         #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法

2015-03-21 10:12:31 680

转载 linux 下清除缓冲区

如何清空输入缓冲区的内容        C标准规定 fflush()函数是用来刷新输出(stdout)缓存的。对于输入(stdin),它是没有定义的。但是有些编译器也定义了 fflush( stdin )的实现,比如微软的VC。其它编译器是否也定义了 fflush( stdin )的实现应当查找它的手册。GCC编译器没有定义它的实现,所以不能使用 fflush( stdin )来刷新输入缓

2015-03-19 20:29:17 982

转载 在Ubuntu 12.04 中用户如何更换一个更快的软件源?

摘自:http://imcn.me/html/y2012/11699.htmlubuntu 12.04 已经发布一段时间了,相对ubuntu 11.10, ubuntu12.04多少有一些改变,此教材以图示的方式给大家介绍如何更换一个更快的软件源地址。启动器中打开ubuntu软件中心鼠标顶部面板点击编辑选择软件源选择其他站点

2015-03-18 11:12:01 596

原创 判断某年是否为闰年

设某年为year.算法思想:先判断year是否能被4整除,如不能,则year一定不是闰年。如year能被4整除,在判断year是否能被100整除,如不能被100整除,一定是闰年。如果能被100整除,再次判断是否能被400整除,如果能被400整除,则是闰年;否则不是闰年。1、产生闰年原因:地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年(tropical

2015-03-18 07:45:31 1140

转载 virtualbox中ubuntu和windows共享文件夹设置

出处 http://www.cnblogs.com/linjiqin/p/3615477.html系统平台:win8.1、virtualbox4.3.8、ubuntu12.041、安装VBoxGuestAdditions_4.3.8.iso增强工具,安装完毕后根据提示重启Ubuntu,具体操作如下:a、把VBoxGuestAdditions_4.3.8.iso镜像到

2015-03-18 07:43:54 620

转载 VirtualBox 4.3.12安装ubuntu 14.04 分辨率过小问题的解决方法

摘自:http://my.oschina.net/mixf/blog/284450启动Ubuntu之后。在菜单栏选择 Device -> Insert Guest Addtions CD image... 这个操作加载了一张虚拟光盘(VBox的安装目录下的 VBoxGuestAdditions.iso)等待一会,左侧边栏会出现一个光盘的图标。并弹出一

2015-03-18 07:26:41 1078

转载 在Virtualbox中的Ubuntu虚拟机中,安装Guest Additions客户端增强包时出错:分配介质 虚拟光盘 xxx\VBoxsGuestAdditions.iso 到虚拟电脑 xxx 失

【问题】在Virtualbox中的Ubuntu虚拟机中,安装Guest Additions,出错:分配介质 虚拟光盘 xxx\VBoxsGuestAdditions.iso到虚拟电脑 xxx 失败。您是否要强制卸载分配该介质? Could not mount the media/drive xxx\VBoxsGuestAdditions.iso (V

2015-03-18 07:18:13 7768

转载 [GIT] warning: LF will be replaced by CRLF问题解决方法

摘自:http://michael-roshen.iteye.com/blog/1328142开发环境:操作系统: windows xpruby 1.9.2rails 3.1.3git version 1.7.8.msysgit.0 问题描述:启动GIT: 新建了一个rails工程  R

2015-03-17 21:03:11 841

转载 来讲讲Git这个玩意到底该怎么用?

摘自:http://my.oschina.net/u/150705/blog/191534目前最火的版本控制软件就是Git了吧?你要是还用SVN或者CVS什么的都不好意思在圈里打招呼!前天我就遇到这种情况了,QQ上和老同学聊起自己用SVN来管理程序版本,好麻烦,当场就惨遭鄙视---“你还用SVN啊?你Out了!我们都用Git了!”好吧为了不被人鄙视,也为了可以鄙视别人,我终于也

2015-03-17 21:00:13 909

转载 TCP协议中的三次握手和四次挥手(图解)

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:

2015-03-16 20:52:27 617

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除