
C/C++
ZhengboCai
热爱it
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++内联函数与宏定义
内联函数是代码被插入到调用者代码处的函数。如同 #define 宏,内联函数通过避免被调用的开销来提高执行效率,尤其是它能够通过调用(“过程化集成”)被编译器优化。 内联函数和宏很类似,而区别在于,宏是由预处理器对宏进行替代,而内联函数是通过编译器控制来实现的。而且内联函数是真正的函数,只是在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。你可以象调用函转载 2010-03-13 20:32:00 · 1847 阅读 · 0 评论 -
c语言经典算法100例1(转载)
C 语言编程经典 100 例 A:【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2.程序源代码:main(){int i,j,k;printf(“/n“);for(i=1;i〈5;i++) /*以下为三重循环*/ for(j=1;j转载 2010-03-14 10:22:00 · 764 阅读 · 0 评论 -
c语言经典算法100例3(转载)
【程序63】题目:画椭圆ellipse 1.程序分析:2.程序源代码:#include “stdio.h“#include “graphics.h“#include “conio.h“main(){int x=360,y=160,driver=VGA,mode=VGAHI;int num=20,i;int top,bottom;initgraph(&driver,&mode,““);top=y转载 2010-03-14 10:35:00 · 745 阅读 · 0 评论 -
C/C++ static和可重入概念
staticC++中的static C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 一、面向过程设计中的static 1、静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例转载 2010-03-15 21:06:00 · 2843 阅读 · 0 评论 -
C语言中使用extern修饰函数要注意(转)
用extern修饰函数是表示被修饰的函数定义在当前文件外,而该函数用extern声明类型后就可以被当前文件调用了。使用extern修饰某函数时,对该函数的调用是在连接阶段才被处理的。下面我们看一段代码。/*********************************************** * fun.c **************************************转载 2010-03-15 21:26:00 · 24514 阅读 · 1 评论 -
堆栈与函数调用
[C++对象模型][5]堆栈与函数调用 一 C++程序内存分配1) 在栈上创建。在执行函数时,函数内局部变量的存储单元都在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,一般使用寄存器来存取,效率很高,但是分配的内存容量有限。 2) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何转载 2010-03-18 18:37:00 · 404 阅读 · 0 评论 -
需要一个1000000的数组实现方法
今天在网上看到如题的一个帖子,觉得值得收藏一下实现方法:1. 放在全局区static int c[1000 * 1000];2. 动态分配.int *c;c = malloc(sizeof(int) * 1000 * 1000); #includestdio.h>#includestdlib.h>int main(){ int *p = (int *)malloc(100转载 2010-03-18 09:31:00 · 2210 阅读 · 0 评论 -
转载 C语言面试题总汇
C语言面试题总汇 4. static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。 8. 描述实时系统的基转载 2010-04-15 14:11:00 · 861 阅读 · 0 评论 -
GCC编译关键字“__attribute__”
让GCC编译关键字“__attribute__”给你带来方便 直接引入我们的主角(粗体部分): int my_printf (void *my_object, const char *my_format, ...) __attribute__ ((format (printf, 2, 3))); my_printf是一个你自己写的函数,比如可能是对vsnprintf等函数进行转载 2010-04-15 14:20:00 · 1036 阅读 · 0 评论 -
采用选择排序法对链表进行排序,注意交换操作中不是对链表里某一节点里的某一元素进行交换,而是对两节点指针的交换
/*结构体定义*/struct stu{ int StuID;// char name[10];// int sex;// int years;// struct stu *next; }; /**************************************************************** Function Name原创 2010-05-23 23:51:00 · 1558 阅读 · 0 评论 -
二进制数字符串转化为二进制数
<br />如何将一个二进制形式的数字字符串(如“10101010”)转化成二进制的数据类型(以char型为例)?<br />答:想到移位的方法。<br />char s[] = "10101011"<br />char s8 = 0;<br />for(i = 0;i < 8; i++)<br />{<br /> if(s[i] == '1')<br /> {<br /> s8 |= (1 << i);<br /> }<br />}原创 2010-08-04 21:00:00 · 1642 阅读 · 0 评论 -
html
工具 HTML 路径http://www.dreamdu.com/xhtml/转载 2010-03-13 21:41:00 · 395 阅读 · 0 评论 -
C和C++语言学习总结(一)
C和C++语言学习总结(一) 知识结构: 1、if,for,switch,goto 2、#define,const 3、文件拷贝的代码,动态生成内存,复合表达式,strcpy,memcpy,sizeof 4、函数参数传递,内存分配方式,内存错误表现,malloc与new区别 5、类重载、隐藏与覆盖区别,extern问题,函数参数的缺省值问题,宏代码与内联函数区别 6、构造和析构的次序,String转载 2010-03-13 21:07:00 · 387 阅读 · 0 评论 -
内联函数与c++宏相比的优点有哪些?
内联函数与c++宏相比的优点有哪些? 悬赏分:0 - 解决时间:2009-1-7 00:05越详细越好,谢谢大哥大姐啦 提问者: loveshenxue - 试用期 一级最佳答案函数内联 用内联取代宏代码 ---------------- C++ 语言支持函数内联,其目的是为了提高函数的执行效率(速度)。在C程序中,可以用转载 2010-03-13 20:56:00 · 750 阅读 · 0 评论 -
C++堆、栈、自由存储区、全局/静态存储区和常量存储区
C++堆、栈、自由存储区、全局/静态存储区和常量存储区 发布日期:2007-8-18 7:56:13 点击: 进入论坛 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是转载 2010-03-13 20:57:00 · 426 阅读 · 0 评论 -
C++堆、栈、自由存储区、全局/静态存储区和常量存储区收藏
一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在转载 2010-03-13 21:00:00 · 457 阅读 · 0 评论 -
c++重点知识
C++知识点 一、#i nclude “filename.h”和#i nclude filename.h>的区别#i nclude “filename.h”是指编译器将从当前工作目录上开始查找此文件#i nclude filename.h>是指编译器将从标准库目录中开始查找此文件 二、头文件的作用加强安全检测通过头文件可能方便地调用库功能,而不必关心其实现方式转载 2010-03-13 21:04:00 · 444 阅读 · 0 评论 -
strlen 实现
strlen 实现 int strlen(const char *str) { while(*(str+1)) i++; return i; } posted on 2009-02-15 18:14 向左向右走 阅读(162) 评论(1) 编辑 收藏 引用 所属分类: C/C++学习资料库 <!--<rdf:R转载 2010-03-13 21:08:00 · 437 阅读 · 0 评论 -
strcpy()、memcpy()、memmove()、memset()的实现
一直想知道内部实现, 现在想看了, 就找了一下.不错.strcpy()、memcpy()、memmove()、memset()的实现 strcpy(), 字符串拷贝.char *strcpy(char *strDest, const char *strSrc){ assert((strDest!=NULL) && (strSrc !=NULL)); char转载 2010-03-13 21:39:00 · 464 阅读 · 0 评论 -
c语言经典算法100例2(转载)
【程序31】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。2.程序源代码:#include 〈stdio.h〉void main(){char letter;printf(“please input the first letter of someday转载 2010-03-14 10:27:00 · 762 阅读 · 0 评论 -
c语言经典算法100例4(转载)
【程序81】题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。1.程序分析:2.程序源代码:output(long b,long i){ printf(“/n%ld/%ld=809*%ld+%ld“,b,i,i,b%i);}main(){long int a,b,i;a=809;for(转载 2010-03-14 10:39:00 · 829 阅读 · 0 评论 -
常量函数、常量引用参数、常量引用返回值[C++]
1. 关于常量引用正像在C语言中使用指针一样,C++中通常使用引用 有一个函数... foo()并且这个函数返回一个引用...... & foo()...., 一个指向位图(Bitmap)的引用 ...Bitmap & foo().... 并且这个位图(bitmap)是常量const Bitmap & foo ()当然你也可以用指针来做同样的事情:const Bitmap * foo()foo 返转载 2010-03-13 21:01:00 · 1503 阅读 · 0 评论 -
值和传引用、传地址的区别是什么?
传值, 是把实参的值赋值给行参 那么对行参的修改,不会影响实参的值 传地址 是传值的一种特殊方式,只是他传递的是地址,不是普通的如int 那么传地址以后,实参和行参都指向同一个对象 传引用 真正的以地址的方式传递参数 传递以后,行参和实参都是同一个对象,只是他们名字不同而已 对行参的修改将影响实参的值-----转载 2010-03-13 21:03:00 · 563 阅读 · 0 评论 -
char 与 unsigned char的本质区别
char 与 unsigned char的本质区别在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,转载 2014-02-10 18:11:49 · 914 阅读 · 0 评论