c到c++的拓展2 #include <iostream>using namespace std;// 1、函数的默认参数:// 允许形参带一个默认的值,当函数调用的时候没给形参传值,使用默认的值int add(int a, int b = 10){ return a+b;}// 注意:// 1、如果函数有一个参数有默认值,则该参数右边的所有参数都要有默认值void fu...
c到c++的拓展 #include <iostream>using namespace std;int main1(){ register int a = 10; // 如果对一个寄存器变量进行 & 操作 // 则变量将不在是一个寄存器变量,而是普通变量 printf ("&a = %p", &a); return 0;...
标准输入输出 // C++ 的标准输入输出头文件 input output stream#include <iostream>using namespace std;// 标准输出int main1(){ // cout 类似于 printf, 作用是往屏幕打印数据 // 区别:cout 是个变量 printf 是个函数 // << : 左移...
命名空间的使用 #include <stdio.h>#include <cstdio>// 命名空间的定义:定义一块命名空间,名字叫 NameAnamespace NameA{ // 原来全局空间可以做的事情,命名空间都可以做:定义变量、函数、宏、结构体、枚举.... int g_a; int g_b; int add(int a, int ...
共用体判断大小端模式 使用共用体判断大小端模式: 如果我们将0x1234abcd 写入到以0x0000 开始的内存中,则Little endian和Big endian 模式的存放结果如下: 大端模式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式:字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。 // 如果是小端模式,返回ture,否则返...
关键字——static 在局部静态变量前面加上关键字static,该局部变量便成了静态局部变量。静态局部变量有以下特点:(1)该变量在全局数据区分配内存(2)如果不显示初始化,那么将被隐式初始化为0(3)它始终驻留在全局数据区,直到程序运行结束(4)其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。 在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静...
关键字 const const用来定义只读变量,具有不可变性。 const int * p; // p可变,p指向的对象不可变int const * p; // p可变,p指向的对象不可变int * const p; // p不可变,p指向的对象可变const int * const p; // 指针p和p指向的对...
堆和栈的区别 1、管理方式不同栈编译器自动管理,无需程序员手工控制;而堆空间的申请释放工作由程序员控制,容易产生内存泄漏。2、空间大小不同栈是向低地址扩展的数据结构,是一块连续的内存区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,当申请的空间超过栈的剩余空间时,将提示溢出。因此,用户能从栈获得的空间较小。 堆是向高地址扩展的数据结构,是不连续的内存区域。因为系统是用...
指针注意事项 指针(Pointer)就是内存的地址,C语言允许用一个变量来存放指针,这种变量称为指针变量。指针变量可以存放基本类型数据的地址,也可以存放数组、函数以及其他指针变量的地址。 程序在运行过程中需要的是数据和指令的地址,变量名、函数名、字符串名和数组名在本质上是一样的,它们都是地址的助记符:在编写代码的过程中,我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或...
快速排序 #include <stdio.h>void mySwap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void myPrint(int *a, int len){ int i; for (i = 0; i < len; i++) { ...
归并排序 #include <stdio.h>void mySwap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void myPrint(int *a, int len){ int i; for (i = 0; i < len; i++) { ...
堆排序 #include <stdio.h>void mySwap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void myPrint(int *a, int len){ int i; for (i = 0; i < len; i++) { ...
希尔排序 #include <stdio.h>void mySwap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void myPrint(int *a, int len){ int i; for (i = 0; i < len; i++) { ...
希尔排序 #include <stdio.h>void mySwap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void myPrint(int *a, int len){ int i; for (i = 0; i < len; i++) { ...
二分插入排序 #include <stdio.h>void mySwap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void myPrint(int *a, int len){ int i; for (i = 0; i < len; i++) { ...
插入排序 #include <stdio.h>void mySwap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void myPrint(int *a, int len){ int i; for (i = 0; i < len; i++) { ...
选择排序 #include <stdio.h>void mySwap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void myPrint(int *a, int len){ int i; for (i = 0; i < len; i++) { ...
冒泡排序改进-鸡尾酒排序 #include <stdio.h>void mySwap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void mySort(int *a, int len){ int i, j; for (i=0; i < len-1; i++) // 将最大元素沉底...
冒泡排序 #include <stdio.h>void mySwap(int *a, int i, int j){ int tmp = a[i]; a[i] = a[j]; a[j] = tmp;}void myPrint(int *a, int len){ int i; for (i = 0; i < len; i++) { printf ("%4d", ...
Vim 文件编辑 1、图形界面的编辑器: gedit2、终端文件编辑: vi ----> vim (vi加强版)一、命令行模式1、跳转 G 跳到最后一行 gg 回到第一行 nG 跳到第 n 行 n+方向键 移动...