
C语言笔记
文章平均质量分 72
WangMark
这个作者很懒,什么都没留下…
展开
-
c++中引用变量的注意事项,和指针的区别
1. 引用必须初始化,且初始化后不能再原创 2014-08-11 17:23:56 · 756 阅读 · 0 评论 -
C++中变量内存模型和函数调用
一、内存分配 在谈述函数调用和返回值问题之前,先来看看C++中内存分配的问题。 C++编译器将计算机内存分为代码区和数据区。很显然,代码区就是存放程序代码,而数据区则是存放程序编译和执行过程出现的变量和常量。数据区又分为静态数据区、动态数据区,动态数据区包括堆区和栈区。以下是各个区的作用:(1)代码区:存放程序代码;(2)数据区 a.静态数据区原创 2014-11-21 19:51:21 · 629 阅读 · 0 评论 -
C++中将string类型转换为int, float, double
C++中将string类型转换为int, float, double类型 主要通过以下几种方式:# 方法一: 使用stringstreamstringstream在int或float类型转换为string类型的方法中已经介绍过, 这里也能用作将string类型转换为常用的数值类型。Demo:[cpp] view plaincopyprint?#inc原创 2014-11-21 19:38:53 · 654 阅读 · 0 评论 -
#define中##连接符、#符以及#@符的使用
在C或者C++中define宏使用得很多,它的基本用法书上以及网上介绍的文章很多,这里我就介绍一下define宏中的几个常用符号的用法,##连接符、#符以及#@符。 我们定义: #define A(x) T_##x #define B(x) #@x #define C(x) #x 我们假设:x=1,则有: A(1)--转载 2014-10-14 18:22:24 · 4365 阅读 · 0 评论 -
Linux内核中C语言使用特点和技巧
Linux 内核源代码的几个C语言技巧http://www.cnblogs.com/lisperl/archive/2011/11/20/2255832.html原创 2014-09-25 15:20:29 · 1196 阅读 · 0 评论 -
PROCESS_YIELD()宏和C语言的switch语句
写在前面: 按照main()函数的代码一行一行的分析,该是看到了 etimer_process 这个位置。但是etimer_process实现里的一个宏 PROCESS_YIELD()引出了很多故事,于是单独把整个宏的东西整理成笔记,贴出来,和学习contiki的伙伴分享。 在说这个宏之前,得先记下c 语言的switch()遭遇。 switch()从表面上来看,或许应该是非常转载 2014-09-15 15:47:39 · 789 阅读 · 0 评论 -
C语言中sizeof详解
1、什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value转载 2014-08-19 17:31:01 · 1005 阅读 · 0 评论 -
嵌入式C语言面试题(经典)
预处理器(Preprocessor1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直转载 2014-08-17 14:51:59 · 648 阅读 · 0 评论 -
阿里云面试总结
电话问题1:构造和析构函数中的虚函数调用;答案:虚函数可以在构造函数和析构函数中调用,但虚函数此时是静态绑定;而非动态绑定。电话问题2:C++中的异常可不可以是引用;答案:异常可以是引用,并且效率高。电话问题3:TCP状态中的close_wait是什么状态;答案:close_wait状态是被动关闭方的一个状态,此时是半关闭状态,被关闭方收到了Fin包,并转载 2014-08-17 13:24:35 · 746 阅读 · 0 评论 -
volatile 和 const 若干问题
问题一:c语言中volatile和const可以同时修饰一个对象吗?很多地方都说,volatile表示“易变的”,const表示"不变的,恒定的"。这两者看起来是矛盾的。但答案是:可以的。上面的字面上的矛盾,来源于对这两个关键字含义的解释不准确。准确的说,volatile表明对该对象的读写操作都不能被编译器优化。而const表示"只读的",对const对象的显式写操作会被编译器发现并报转载 2014-08-17 14:33:19 · 1055 阅读 · 0 评论 -
C++ STL相关容器详解
vector:一种随机访问的数组类型,他提供了对数组元素的快速、随机访问,以及在序列尾部快速、随机的插入和删除操作。它在需要时可以改变其大小,也就是说大小可变的向量,比较灵活。可取代C++语言本身提供的传统数组。提供随机存储能力。操作尾端元素的速度最快。由于所有元素占用连续空间,所以一旦进行插入或者删除动作,有可能使原本的某些 iterators失效。list:这是转载 2014-08-17 13:44:31 · 571 阅读 · 0 评论 -
C结构体之位域(位段)
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位转载 2014-08-28 11:54:37 · 373 阅读 · 0 评论 -
C++ this指针的用法
this指针的含义及其用法: 1. this指针是一个隐含于每一个成员函数中的特殊指针。它指向正在被该成员函数操作的那个对象。2. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。3. 当一个成员函数被调用时,自动向它传递一个隐含的参数,该参数是一个指向这个成员函数所在的对象的指针。 4. 在转载 2014-09-22 17:36:47 · 507 阅读 · 0 评论 -
C++中构造函数和析构函数避免调用虚函数的问题
一、构造函数避免调用虚函数的问题在构造函数中调用虚成员函数,虽然这是个不很常用的技术,但研究一下可以加深对虚函数机制及对象构造过程的理解。这个问题也和一般直观上的认识有所差异。先看看下面的两个类定义。struct C180{ C180() { foo(); this->foo(); } virtual foo() { cout }};stru转载 2014-08-14 12:28:04 · 928 阅读 · 0 评论 -
嵌入式c语言优化
一. 算法和数据结构优化1. 针对应用的算法优化,比如,在音频编解码中,用fft实现时频变换。2. C语言级别的优化,如排序算法的选择。3. 数据结构的选择,如果需要随机访问,则尽量选择数组,如果需要随机插入删除,则可以选择链表。4. 尽量用指针代替数据操作,大部分编译对于指针会生成更小更快的代码。5. 尽量使用和cpu位数相原创 2014-08-06 16:46:56 · 742 阅读 · 0 评论 -
iOS中从目录搜索制定后缀的文件
//NSFileManager *fileManager = [NSFileManager defaultManager];NSString *home;home = @"../Users/";NSDirectoryEnumerator *direnum;direnum = [fileManager enumeratorAtPath: home];NSMutab原创 2014-12-09 13:51:40 · 1040 阅读 · 0 评论