函数重载(Function Overload):用同一个函数名定义不同的函数,当函数名和不同的参数搭配时函数的含义不同。1、重载规则(1)函数名相同;(2)参数个数不同,参数的类型不同,参数顺序不同,均可构成重载;(3)返回值类型不同则不可以构成重载。void func(int a);//OKvoid func(char a);//OKvoid func(char a,int b);//OKvoid func(int a,char b);//OKchar func(int a);//与第一个函数有冲突2、调用规则(1)严格匹配,找到则调用;...
关于bmp图片的格式,网上有很多文章,具体可以参考百度百科,也有例子程序。这里只提要注意的问题。(1)结构体定义问题:首先按照百度百科介绍的定义了结构体,但是编译发现重定义BITMAPFILEHEADER等。其实只要包含了Windows.h,里面的wingdi.h就已经定义了处理bmp的结构体,故不需要自己再重复定义。(2)读取文件的字节对其问题:要使用#pragma pack (1)来方便读取文件头的结构体,否则结构体的大小会由于字节对齐问题改变。不知...
结构体定义C:typedef struct Vertex {int x, y, z;
} Vertex;
Vertex v1 = { 0 };// orstruct Vertex {int x, y, z;
};
struct Vertex v1 = { 0 };
C++:struct Vertex {int x, y, z;
};
Vertex v1 = {};
如果你一开始学的C++,再去写C的时候,你就会一脸懵逼怎么我的结构体编译不了。。。为特定类型分配堆内存C:Vertex* ptr = malloc(sizeof(Vertex) * 10);
free(ptr);
C++:Vertex* ptr = new Vertex[10];
delete[] ptr;
malloc 的...
本文主要讲述C语言的程序环境和预处理。
一、程序的翻译环境和执行环境
存在源代码转换为可执行的机器指令的翻译环境和实际执行代码的执行环境,两个不同的环境。
1.翻译环境
每个源文件通过编译过程分别转换成目标代码,每个目标文件由链接器捆绑在一起形成可执行程序。过程图解如图:
编译本身也分为下面几个阶段: VIM编译期间的每一步:
(1) 预处理 选项gc...
程序产生一个1-100的随机数,玩家根据提示猜出数大小。
随机数产生:先用srand((unsigned int)time(NULL))初始化随机数发生器,srand函数是随机数发生器的初始化函数。为了防止随机数每次重复,常常使用系统时间来初始化。
再用 rand() % 100 + 1 产生1-100的随机数,rand函数是C语言中用来产生一个随机数的函数。
下面是示例代码:
#include<stdio.h>void memu()
{printf("*************************\n");pr...
1. 函数递归概念
程序调用自身的编程技巧称为递归 。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,可以把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。
2.两个必要条件
(1)要有限制条件;
(2)每次调用都会向限制条件靠近;
3.简单案例
(1)递归实现打印一个整数的每一位
int pr (int a)
{if (a > 9){pr(a / 10);}printf("%d " , a%10);
}int main()
{int num ...
/*
x=1 9x/2-1=1 x=4 8x/2-1=4 x=10 7x/2-1=10 x=22 6x/2-1=22 x=46 5x/2-1=46 x=94 4x/2-1=94 x=190 3x/2-1=190 x=382 2x/2-1=382 x=766 1
*//*//#include"stdio.h" //C语言头文件#include<iostream.h>int last(int n,int m){ int c,m1=m+1; if(n==1) c=1; else c=(last(n-1,m1)+1)*2;
//printf("day:%d total:%d\n",m1,c); ...
c语言基本概念
基本内置类型(算数类型)
不同的类型代表了不同的数据表示范围,其本质上是内存的规格。
复合类型 (指针与引用)
字节 与 字
字节又称为: 可寻址的最小内存块,计算机以2的整数次幂个比特作为块来处理内存。
什么是可寻址?
大多数计算机以8位比特为一个内存块,并给予一个与之关联的数字称为地址,以方便在内存中寻找。
类型转换
将一类型变量赋值给另一不同类型的变量,会进行类型转换。
eg.
将任何非0数给bool...
一、c++中新的数据类型
我们先看看c的数据类型这些就是c语言数据类型
而在c++中新增bool(布尔类型)其值为true或false,这种类型是c语言中没有的。
二、c++中的初始化方法c语言的初始化方法
c++的初始化方法赋值初始化 int x=1024 ;
赋值初始化 int x=1024;直接初始化 int x(1024);三、c++中随用随定义
C语言
int main()
{int x;float y;x=1;y=2.5;return 0;
}C++
int main()
{int x;x=1;float y;y=2.5;
}从上面两个例子中...
头文件主目录include
头文件目录中总共有32个.h头文件。其中主目录下有13个,asm子目录中有4个,linux子目录中有10个,sys子目录中有5个。这些头文件各自的功能如下,具体的作用和所包含的信息请参见第14章。
<a.out.h>:a.out头文件,定义了a.out执行文件格式和一些宏。 <const.h>:常数符号头文件,目前仅定义了i节点中i_mode字段的各标志位。 <ctype.h>:字符类型头文件,定义了一些有关字符类型判断和转换的宏。 <errno.h>:错...
C语言中有宏函数的概念。宏函数的特点是内嵌到调用代码中去,避免了函数调用 的开销。但是由于宏函数的处理发生在预处理阶段,缺失了语法检测和有可能带来的语意差错。
1、内联函数基本概念
C++提供了 inline 关键字,实现了真正的内嵌。#include <iostream>
using namespace std;inline void func(int a)
{a = 20;cout << a << endl;
}
int main(void)
{func(10);/*//编译器将内联函数的函数体直接展开{a = 20;cout << a << endl;}*/...
1、变量名
变量名实质上是一段连续存储空间的别名,是一个标号(门牌号);
通过变量来申请并命名内存空间;
通过变量的名字可以使用内存空间。
2、引用的概念
变量名,本身是一段内存的引用,即别名(alias)。引用可以看作一个已定义变量的别名。
引用的语法:Type & name = var;
用法如下:1 #include <iostream>2 using namespace std;3 4 int main(void)5 {6 int a = 10;//C编译器分配4个字节内存,a内存空间的别名7 ...
文章目录01 - 页面置换算法1.1 - FIFO1.2 - OPT1.3 - LRU02 - 效率比较03 - 源码下载04 - 总结??虚拟内存的核心原理是局部原理,作业在某个时间段内只运行在某一段代码范围内,于是不必要把整个作业都调入内存运行,只需要部分即可。
??虚拟内存管理一般采用按页管理,内存和作业都以页为单位,可以先调用作业的一部分页面进入内存运行,当作业所需要的页面不存在内存的时候就请求页调入或者页置换
01 - 页面置换算法
??基本的页面...
1.
2.十进制转换二进制:除二取余
二进制转换十进制:乘二取整
3. 255-0xff 127-0x7f
4.
整型
5.内存是由一个个存储单元构成,
6.sizeof 关键字 计算变量或数据类型所占的字节个数
7.const int max=10; 全局常变量,具有类型 会开辟空间
#define MAX 10 宏定义,无类型 不会开辟空间 预编译时发生替换
Define 后面不要加分号
枚举只能是整型(enum)
8.
十进制的...