
C编程学习总结
yinjiabin
这个作者很懒,什么都没留下…
展开
-
const void *a 与 void *const a 的区别
const void *a这是定义了一个指针a,a可以指向任意类型的值,但它指向的值必须是常量。在这种情况下,我们不能修改被指向的对象,但可以使指针指向其他对象。例如:const void *a;*a=0x123;//是编译通不过的,因为*a中放的是个const值。const值是不能被改变的。const int m=1; const int n=2;a=&m;原创 2011-09-02 15:28:49 · 29063 阅读 · 7 评论 -
解决borland c++调试中“unable to open include file 'stdio.h'”的问题
问题: Error: c:/**/**.c Unable to open include file 'stdio.h' 解决方法:include 表示搜索stdio.h这个文件的路径在option中指定的位置include "stdio.h"表示搜索stdio.h这个文件的路径在当前工作文件所在的位置即""与所以,需要在turbo c 下面设置路径原创 2012-05-26 10:19:36 · 5638 阅读 · 0 评论 -
Volatile关键字详解
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。 我在开发中也常常遇到这个问题,发现通常用在两个方面,一方面是对硬件寄存器或固定内存的访问,一般要用到,这就是我们原创 2012-02-03 14:56:34 · 3052 阅读 · 0 评论 -
16道嵌入式C语言面试题(经典)
预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值转载 2012-04-23 09:29:28 · 1342 阅读 · 0 评论 -
"..\..\source\ucos_ii.h"的含义
在WIN、LINUX下面创建一个目录时都包含两个目录:“.”和“..”,“.”代表当前目录;“..”代表当前目录的上级目录;"..\..\source\ucos_ii.h"的解释:假如:#include "..\..\source\ucos_ii.h" 这句话所在的文件是include.h,文件目录为:D:\ADS\uart0\src\include.h则:"..\..\原创 2012-01-03 17:35:13 · 833 阅读 · 0 评论 -
C++类的赋值运算符=的重载,以及深拷贝和浅拷贝
C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝在面向对象程序设计中,对象间的相互拷贝和赋值是经常进行的操作。 如果对象在申明的同时马上进行的初始化操作,则称之为拷贝运算。例如: class1 A("af"); class1 B=A; 此时其实际调用的是B(A)这样的浅拷贝操作。如果对象在申明之后,在进行的赋值运算,我们称之为赋值运算。例如:原创 2012-02-04 09:09:30 · 1092 阅读 · 0 评论 -
malloc (0)详解
问题:char* ptr = malloc(0*sizeof(char));if(NULL == ptr) printf("got a NULL pointer");else printf("got a Valid pointer");请问:上面的程序输出为什么?在C99的标准里面解释到,如果给malloc传递0参数,其返回值是依赖于编译器的实现,但是不管转载 2012-02-03 16:03:28 · 7091 阅读 · 3 评论 -
嵌入式中断服务函数的编写要求
中断是嵌入式系统中重要的组成部分,但是在标准C中不包含中断。许多编译开发商在标准C上增加了对中断的支持,提供新的关键字用于标示中断服务程序 (ISR),类似于__interrupt、#program interrupt等。当一个函数被定义为ISR的时候,编译器会自动为该函数增加中断服务程序所需要的中断现场入栈和出栈代码。 中断服务程序需要满足如下要求: (1)不能返回值; (2)原创 2012-02-03 10:50:13 · 2153 阅读 · 0 评论 -
const关键字详解
一 const基础 如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = 500; const int* a = &b; [1] int const *a = &b; [2] int* const a转载 2012-02-03 15:50:38 · 701 阅读 · 0 评论 -
如何判断一个开发团队的基本素质
如何判断一个开发团队的基本素质昨天请一个刚工作的同事评价一下某个开发团队的素质,他说很不错,用了很多先进的技术……,我意识到我没有教过他如何判断一个开发团队基本素质。准确全面地衡量一个开发团队的素质要看很多方面,团队文化、个人能力、各种标准和方法论、是否有够多的技术储备和经验积累等等。但如果5分钟内要做一个大致的判断,可以试试看问技术负责人一个问题:你如何做日志。转载 2012-07-27 11:26:44 · 1042 阅读 · 0 评论