
C/C++
文章平均质量分 73
lonfee88
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[C陷阱]getchar的返回值是int而不是char
有如下代码: //char c;//错误 int c; /* 正确。应该使用 int 型变量接收 fgetc 的返回值 */ while ( (c = getchar()) != EOF ) { putchar(c); }getchar 等函数的返回值类型都是 int 型,当这些函数读取出错或者读完文件后,会返原创 2012-05-07 16:40:48 · 13805 阅读 · 7 评论 -
C++的重要性质:虚函数和多态性
1. 封装、继承和this指针 1.1 封装(Encapsulation) 把数据成员声明为private,不允许外界随意存取,只能通过特定的接口来操作,这就是面向对象的封装特性。 1.2 继承(Inheritance) 子类“暗自(implicit)”具备了父类的所有成员变量和成员函数,包括private属性的成员(虽然没有访问权限)。 1.3 this指针 矩形类CRect如下:原创 2012-04-15 21:27:27 · 2090 阅读 · 0 评论 -
C/C++ 二维数组作为函数参数
有两种类型的二维数组: 维数固定 这一类的数组存放在栈上,是连续存储的。任意维度固定的多维数组都可以看做是一维数组,可以用a[i+j*n]的形式来访问。 int ia[2][2] = {2,3,4,5}; //4个元素时连续排列的内存段 //void f(int p[][2], int row, int col )//这种方式必须事先知道除第一维以外的维度的大小,不灵活 void f(原创 2012-05-14 21:49:43 · 8014 阅读 · 0 评论 -
C/C++变量存储区域
一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(static)—编译器编译原创 2012-10-02 01:49:14 · 2836 阅读 · 0 评论