
C语言
降魔者
这个作者很懒,什么都没留下…
展开
-
逗号表达式
逗号表达式作用顺序求值,用在表达式中顺序求值的情况比较多。 1 示例 a = (1, 2, 3 , 4); 解释:顺序给a赋值,a最后的值为4; 当然这个例子中1,2,3,并没有什么作用,只是为了说明白逗号表达式的作用。 2 示例 for(i = 0, j = 0; i解释:这个例子就显示出 逗号表达式最常用的方法了原创 2016-01-18 16:35:04 · 653 阅读 · 0 评论 -
VC 6.0快捷键大全
本文来自:http://blog.youkuaiyun.com/custqi/article/details/6452966F1 显示帮助, 如果光标停在代码的某个字符上, 显示MSDN 中相应的帮助内容F2 书签功能: Ctrl+F2 -- 在某行设置一个书签( 再按一次次是取消)F2 -- 跳到下一个书签位置Shift+F2 -- 跳到上一个书签位置Ctrl+Shift+F2转载 2016-05-06 11:19:39 · 507 阅读 · 0 评论 -
VC6.0调试技巧 (一)
本文来自:http://blog.youkuaiyun.com/custqi/article/details/6452970说明: 文 章的名字可能取的比较大,毕竟本人能力有限,掌握的知识比较肤浅,写出的东西可能没有多大的价值。但是看到一些初学者经常问一些太过简单的问题,我终于忍 不住想写点什么。通过与很多初学者交流,我发现他们共有的一个弱点是不会调试。很多人根本不知道调试是怎么回事。其实很多转载 2016-05-06 11:21:07 · 11088 阅读 · 0 评论 -
VC 6.0 调试技巧(二)
本文转自:http://blog.youkuaiyun.com/custqi/article/details/6452972○常用功能: 1. Restart (Ctrl+shift+F5 ): 此debugger功能将从程序的开始(第一有效行)处全速执行,而不是从当前所跟踪的位置开始调试,这时所有变量的当前值都将被丢弃,debugger 会自动停在程序的m转载 2016-05-06 11:22:20 · 5726 阅读 · 0 评论 -
C语言中经常遇到的陷阱!好东西
本文来自:http://blog.youkuaiyun.com/zhzht19861011/article/details/171178190.前言 设备的可靠性涉及多个方面:稳定的硬件、优秀的软件架构、严格的测试以及市场和时间的检验等等。这里着重谈一下作者自己对嵌入式软件可靠性设计的一些理解,通过一定的技巧和方法提高软件可靠性。这里所说的嵌入式设备,是指使用单片机、ARM7、C转载 2016-05-17 18:09:11 · 9695 阅读 · 1 评论 -
typeof关键字是C语言的应用
原文:http://hi.baidu.com/leowang715/blog/item/b0b96d6f972e7dd080cb4a06.htmltypeof关键字是C语言中的一个新扩展。只要可以接受typedef名称,Sun Studio C 编译器就可以接受带有typeof的结构,包括以下语法类别:声明函数声明符中的参数类型链表和返回类型类型定义类型操作符ssi转载 2016-05-31 10:19:38 · 5194 阅读 · 0 评论 -
嵌入式软件调试方法
1 利用打印函数,打印到固定的内存地址中,可将函数加在数据输入,处理,输出的过程中2 计时函数,或者计时钟节拍tick的函数,计算函数模块的运行时间,如解码,frame rate等3 DDK抓取打印4 IAR中查看变量的值,或者地址内的值5 定义计数数组,数据可累加观看是否丢失原创 2016-04-22 22:22:15 · 2520 阅读 · 0 评论 -
typedef函数指针用法
转自:http://blog.youkuaiyun.com/qll125596718/article/details/6891881目录(?)[+]1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表) [cpp] view plain copychar (*pFun)(int); char g转载 2016-05-31 17:20:07 · 298 阅读 · 0 评论 -
结构体中的位域
本文转自: http://blog.youkuaiyun.com/cyhleo/article/details/6845462 struct A { char t:4; char k:4; unsigned short i:8; unsigned long m; } sizeof(A)=?(不考虑边界对齐)7,如果考虑边界对其,则为8 以下段落引用来源:http转载 2016-05-09 14:29:56 · 2543 阅读 · 0 评论 -
C语言(C++)堆和栈的区别
非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!转自:http://www.cppblog.com/oosky/archive/2006/01/21/2958.html堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似转载 2016-06-09 15:17:55 · 3597 阅读 · 0 评论 -
存储类型修饰符的区别(auto、static、register、extern、volatile、restrict)
转自:http://blog.youkuaiyun.com/setflvet/article/details/6924878一、局部变量和全局变量:(1)局部变量:局部变量也叫自动变量,它声明在函数开始,生存于栈,它的生命随着函数的返回而结束。[cpp] view plain copy print?#include int转载 2016-06-09 15:10:08 · 1569 阅读 · 0 评论 -
浅谈C语言中的布尔(bool)类型
转自:http://blog.chinaunix.net/uid-8440532-id-34776.html注:本文仅针对符合C99标准的编译器,比如:gcc3.4.5。VC6等编译器不在本文讨论范围内。 我们知道在C++里有专门的bool类型,用来表示真或假。但是在C语言里没有这样的类型(至少我是一直这么认为的),表达式的值0为假,非0为真。所以条件判断语句( if(...)、转载 2016-06-05 10:39:59 · 35221 阅读 · 1 评论 -
C/C++中extern关键字详解
转自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.htmlC/C++中extern关键字详解1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说exte转载 2016-06-05 22:12:37 · 394 阅读 · 0 评论 -
用gets()和sscanf() 代替 scanf函数
在编写一个函数时,用到了scanf函数,如下: while (1) { printf(" Waiting for the input num(HZ):"); scanf("%d\n",&num); }当输入数字时,如250000 、3600000,程序正常。若一不小心输入:1a,b等字母,scanf函数就不会再原创 2016-05-05 14:09:37 · 1920 阅读 · 0 评论 -
数组指针和指针数组的区别
转自:http://www.cnblogs.com/hongcha717/archive/2010/10/24/1859780.html数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。转载 2016-04-26 21:47:36 · 210 阅读 · 0 评论 -
source insght快捷键
1.括号配对高亮:“在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容( 2.让{ 和 } 不缩进:Options -> Document Options -> Auto Indenting -> Auto Indent Type 选 Simple还有:让{ 和 } 不缩进: options->document options->auto indent 去掉i转载 2016-04-13 17:51:34 · 1691 阅读 · 0 评论 -
问号表达式 a?b:c
问号表达式在程序中经常出现,宏定义中也是经常出现的 1 示例: d = a ? b : c 或者if (a ? b : c)等解释:当a的值为真,结果为b; 当a的值为假,结果为c。 这里的a,b ,c 不一定是单个的变量或者常量,也可以是表达式。 2 示例://多个问号表达式,按照从右到左的顺序计算 a解释:先执行的是c 3示例原创 2016-01-18 16:46:49 · 13469 阅读 · 0 评论 -
malloc和free函数详解(转载)
本文是关于malloc和free函数的讲解,本文来源于_博客园_Healtheon的博客,网址http://www.cnblogs.com/hanyonglu/archive/2011/04/28/2031271.html 在此感谢原作者! 本文介绍malloc和free函数的内容。 在C中,对内存的管理是相当重要。下面开始介绍这两个函数: 一、malloc()和free转载 2016-01-19 10:41:04 · 440 阅读 · 0 评论 -
内存泄露的解释
malloc使用的时候,必须及时释放内存(free函数),不及时释放内存就会产生内存泄露的问题,对内存泄露的理解一直处于迷迷糊糊的状态,故这里引用搜狗百科上对内存泄露的解释加深理解,网址:http://baike.sogou.com/v8154921.htm?fromTitle=%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F 1 解释:内存泄漏(存储渗漏)是转载 2016-01-19 10:56:09 · 2223 阅读 · 0 评论 -
strcpy(字符串复制)和memcpy(内存复制)
strcpy用于字符串的复制,memcpy用于内存复制,没有类型限制。版权声明:本文来自博客园_Echo Jin的文章,网址:http://www.cnblogs.com/stoneJin/archive/2011/09/16/2179248.html 在此对原作者表示感谢。 strcpy和memcpy的区别strcpy和memcpy都是标准C库函数,它们有下面的特点。转载 2016-01-19 11:07:23 · 3703 阅读 · 0 评论 -
NULL的用法
在C语言程序中,经常看到NULL赋值给指针变量,如下:1 示例char *str = NULL;解释:定义了一个指向char类型的指针变量,赋值NULL。赋值NULL的意思就是,此指针变量不指向任何地址。 作用1:若指针变量定义时候没有赋值,在某些编译器中会出错,发生程序混乱 作用2:若没有赋值,某些编译器会出现警告,赋值NULL原创 2016-01-19 11:25:13 · 4908 阅读 · 0 评论 -
延时函数中的volatile
今天调试程序时候,写了一个延时函数竟然发现没有延时作用,如下: static void delay(void)//static 作用:函数隐藏 变量持久和默认0{unsigned int i, j;for(i=0; ifor(j=0; j}注:调试时没有延时作用解决办法:static void delay(void)//s原创 2016-01-01 22:21:54 · 1317 阅读 · 0 评论 -
static的作用
对于Static关键词一度让我头疼,故在网上看大神们的讲解,貌似懂了一点,在此记下笔记,这里声明某些内容及程序来自大神的博客。在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文转载 2016-01-01 22:29:19 · 412 阅读 · 0 评论 -
__asm关键字
看程序的时候,偶遇#define abc_breakpoint __asm{bkpt 0} ,第一次也是吓了一跳,这是什么呢,经过在网上查询,发现原来是一个关键字。__asm关键字启动内联汇编函数,此关键字不会单独出现,必须结合汇编指令一起出现,用大括号或者空括号包围指令,代码示例1:__asm{ mov r1, r2 mov r2, r3} 也可原创 2016-01-14 13:09:05 · 10454 阅读 · 0 评论 -
软件调试技巧
F5: GO 程序运行F10: step over 单步调试,子函数当一步运行F11: step into 单步调试,进去子函数,继续单步运行shift + F11 :step out 在运行了step into时 想跳出子函数,余下的语句一次运行完,跳出子函数 断点:程序运行到断点处原创 2016-01-14 16:57:51 · 443 阅读 · 0 评论 -
枚举类型enum
被代码中的枚举搞得迷迷糊糊,来博客写个笔记,仅仅是笔记而已... 枚举介绍:有的变量,取值的范围是有限制的,如每周七天,中国多少个城市,一天吃几顿饭等等 ,枚举呢,就是将变量A的所有可能性列举出来,枚举示例1:enum A_B{ B1, B2, B3};enum A_B A;解释:enum为定义枚举时所有的 关键字,A_B定义的枚举名原创 2016-01-14 18:10:01 · 664 阅读 · 0 评论 -
c语言 #define 中的UL
转自:http://blog.youkuaiyun.com/ropenyuan/article/details/6157589 c语言 #define 中的ULU和L是 整数文字量的后缀修饰,用于显示指明整数文字量的类型为unsigned int(U)和long int(L)。 类似的还有浮点数文字量的后缀修饰F或f,用于指明文字量表示的是一个float,而不是默认情况下的double。转载 2016-04-26 14:22:09 · 1332 阅读 · 0 评论 -
C语言中内存对齐详解
转自:http://blog.youkuaiyun.com/embeddedman/article/details/7429976首先由一个程序引入话题: 1 //环境:vc6 + windows sp2 2 //程序1 3 #include iostream> 4 5 using namespace std; 6 7 struct st1 8 { 9转载 2016-04-26 16:08:39 · 384 阅读 · 0 评论 -
#pragma pack(n)详解
转自:http://www.cppblog.com/xczhang/archive/2007/12/23/39393.html一个很重要的参数#pragma pack(n)数据边界对齐方式:以如下结构为例: struct { char a; WORD b;转载 2016-06-16 16:18:03 · 693 阅读 · 0 评论