C/C++
文章平均质量分 80
仲轲
爱好广泛,追求极致!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
重载函数
重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。 两个重载函数必须在下列一个或两个方面有所区别:1、函数有不同参数。2、函数有不同参数类型,C++的这种编程转载 2015-08-30 14:59:18 · 587 阅读 · 0 评论 -
全面解析《嵌入式程序员应该知道的16个问题》
1、预处理器(Preprocessor)2、如何定义宏3、预处理器标识#error的目的是什么?4、死循环(Infinite loops)5、数据声明(Data declarations)6、关键字static的作用是什么?7、关键字const有什么含意?8、Volatile的使用9、位操作(Bit manipulation)10、访问固定的内存位置(Acces转载 2015-10-22 23:53:30 · 884 阅读 · 0 评论 -
面试中一些基本概念的辨析
一、const与#define相比有什么不同?答案:1.const定义的只读变量在程序运行过程中只有一份拷贝(因为它是全局的只读变量,存放在静态区),而#define定义的宏常量在内存中有若干个拷贝。2.#define宏是在预编译阶段进行替换,而const修饰的只读变量是在编译的时候确定其值。3.#define宏没有类型,而const修饰的只读变量具有特定的类型(编译器可以对后原创 2015-10-21 23:27:21 · 1030 阅读 · 3 评论 -
【C语言】关于宏定义中#和##符号的使用和宏定义展开问题
1.#在英语里叫做pound,在C语言的宏定义中,一个#表示字符串化,两个#代表concatenate。2.实例一:#include void quit_command(){ printf("I am quit command\n");} void help_command(){ printf("I am help command\n");} stru原创 2015-09-18 11:37:25 · 1313 阅读 · 0 评论 -
局部和全局变量
从解析一段程序入手,程序如下:#include static int var1=0;int var2=3;int var3=6; void f(int var2){ static int i=0; int j=9; int var1; i++; j--; var1=5; var2=6; va原创 2015-08-30 15:08:35 · 510 阅读 · 0 评论 -
GetMemory的典型例子分析
NO.1void GetMemory(char *p){ p = (char*)malloc(100);}void Test(void){ char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str);}//运行Test函数后会是什么样的结果?解析如下:/*原创 2015-10-20 11:39:28 · 551 阅读 · 0 评论 -
全局变量、局部变量、静态局部变量及静态全局变量的区别
一、程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(stat原创 2015-10-19 13:42:20 · 641 阅读 · 0 评论 -
sizeof 和 strlen 的区别
char str[20]="0123456789"; int a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 int b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响==================================转载 2015-08-22 09:19:42 · 496 阅读 · 0 评论 -
C/C++值传递、指针传递和引用传递详解
一、实例//下面5个函数哪个能成功进行两个数的交换?#include using namespace std; void swap1(int p, int q){ int temp; temp=p; p=q; q=temp;} void swap2(int *p, int *q){ int *temp; *temp原创 2015-09-28 16:50:22 · 2240 阅读 · 0 评论 -
C/C++静态变量static详解
静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。用法1:函数内部声明的static变量,可作为对象间的一种通信机制 如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量。这个对象将只在转载 2015-09-12 08:07:29 · 20279 阅读 · 1 评论 -
C++ 复合数据类型--枚举型用法深解
1、枚举enum的用途浅例 写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等。 更常见的,打开一个文件可能有三种状态:input, output和append. 典型做法是,对应定义3个常数,即: const int input = 1;转载 2015-08-20 09:27:38 · 746 阅读 · 0 评论 -
全面总结sizeof的用法(定义、语法、指针变量、数组、结构体、类、联合体、位域位段)
一、前言编译环境是vs2010(32位)。#include #include #includeusing namespace std;typedef struct{ int a; char b;}A_t;typedef struct{ int a; char b; char c;}B_t;原创 2015-09-08 13:40:46 · 8274 阅读 · 7 评论 -
c++ 字符串常量
字符串常量,之所以称之为常量,因为它可一看作是一个没有命名的字符串且为常量,存放在静态数据区。这里说的静态数据区,是相对于堆、栈等动态数据区而言的。静态数据区存放的是全局变量和静态变量,从这一点上来说,字符串常量又可以称之为一个无名的静态变量,因为"Hello world!"这个字符串在函数 s1和s2 中都引用了,但在内存中却只有一份拷贝,这与静态变量性质相当神似。cha转载 2015-08-20 11:45:29 · 2997 阅读 · 0 评论 -
C++ 常量
常量是一种标识符,它的值在运行期间恒定不变。C语言用 #define来定义常量(称为宏常量)。 C++ 语言除了 #define外还可以用const来定义常量(称为const常量)。 1 为什么需要常量 如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦? (1)程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思, 用户则更加不知它们从何处来、转载 2015-08-20 10:36:41 · 459 阅读 · 0 评论 -
C++用冒号(:)和双冒号(::)用法
1.冒号(:)用法(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{ unsigned char a:4; unsigned char c;} ; XXX(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。转载 2015-09-01 22:30:42 · 884 阅读 · 0 评论 -
main/int main/void main
main()是省略了返回值类型,C语言会默认认为成main的类型为int,在main()的函数体内要返回一个值,如return 0; 而void main()的返回值是void类型,也就是说没有返回值。这样在main()的函数体内你就不用写return 0;或者return 1;之类的返回语句。 在一个程序中,可以说你看不出两者的差别,因为main()是C语言的入口点,入口点如果返回了程序原创 2015-09-01 18:39:23 · 796 阅读 · 0 评论 -
应届生笔试编程题
第一题:查找有一个数组a[n],数组中的数据是一个无规律的递增数,请写出一个函数用最高效的方式判段关键字num是否在这个数组中。如果存在则返回该数所在数组中的位置,如果不存在则返回0XFFFFFFFF(假定数组长度小于这个值)。例如:Int a[]={1,2,3,4,555,666,888,......,444444};FindNumber(a,sizeof(a)/sizeof(a原创 2015-10-31 12:33:43 · 1972 阅读 · 3 评论
分享