- 博客(14)
- 问答 (1)
- 收藏
- 关注
原创 C++函数重载
(1)概念:在C++中可以为两个或两个以上的函数提供相同 的函数名称,只要函数参数类型不同,或参数类型相同而参数个数不同,称为函数重载(2)函数的返回类型不能作为函数重载的依据(3)参数表的比较过程与形参名无关(4)在两个函数的参数表中,只有缺省实参不同,则第二个声明会被认为是第一个的重复声明(5)如果两个函数参数表的区别只在于一个使用了typedef,另一个使用了typedef相应的类型,则该参数表被视为相同的参数表因为typedef只是为现有的数据类型提供了一..
2022-05-18 13:22:18 257
原创 inline
当程序执行函数调用时,系统要建立栈空间,保护现场,传递参数以及控制程序执行的转移等等,这些工作需要系统时间和空间的开销如何在debug下设置inline函数提高速度inline是一种以空间换时间的做法,省去调用函数额开销。但当函数体的代码过长或者是递归函数,即便加上inline关键字,也不会在调用点以内联展开该函数。inline对于编译器而言只是一个建议,会自动优化。in|ine不建议声明和定义分离,分离会导致链接错误。因为inline被展开,就没有函数地址了,链接就
2022-05-17 15:58:18 135
原创 C++ 引用
目录1.引用类型名+&+标识符例:int &a=b1.1.引用必须初始化1.2.引用数组1.3.const+&:1.4.引用和指针的区别:1.5.引用的注意事项1.引用类型名+&+标识符例:int &a=b1.1.引用必须初始化定义一般变量时:(1)声明:声明变量类型和名字(2)定义:根据类型分配内存地址空间(3) 初始化:将初始值拷贝到变量的内存地址空间中(因此变量的声明,定义和初始化可以分..
2022-05-17 15:45:24 281
原创 linux基础2
目录7.makefile和make7.2makefile和make的介绍7.3make的使用规则8.gdb调试8.1Debug和Relese版本8.2gcc生成的debug版本的可执行文件8.3 通过gdb进入调试7.makefile和make7.2makefile和make的介绍makefile文件:linux上的项目工程管理工具,可以实现自动化编译后期一个项目工程里面的源文件不计其数,makefile文件里可以定义一系列的规则来指定哪一些文件先需要进.
2022-04-19 21:30:08 251
原创 linux基础1
目录1.vim的介绍和安装1.2 vim的安装2.1 配置文件的介绍2.2配置文件的设置3.vim的三种模式3.2 命令模式切换到插入模式3.3 命令模式切换到末行模式3.4.vi/vim的常用命令4.文件查看命令4.1 cat4.2 more4.3 less4.4 head4.5 tail4.5.1 显示后n行的内容 tail -n filenname4.5.2 查看日志文件5。用户管理命令5.2 添加新用户5.3 修改密码.
2022-04-17 16:09:12 888
原创 双向链表基本功能
双向链表:和单链表相比,双向链表有两个指针域,即可以保存右边的节点地址(后继),又可以保存左边的节点地址(前驱)如果指针域指向一个不存在的节点,则将其指针置为NULL如果是一个空的双向链表,则next和prior都为NULL 1.构造双向链表 Typedef int ELEM_TYPE Typedef struct Dlist { ELEM_TYPE data;//数据域 Struct Dlist *next;//保存下一个节点的地址 Struct D;.
2022-03-12 16:13:00 2174
原创 递归二:猴子吃桃问题
猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个; 第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共吃了多少个桃子?//peach(n)从最后一天倒退n天还有多少桃//peach(n-1)倒退第n-1天还有多少桃//peach(1) 已知最后一天剩一个桃int peach(int n){ if(n==1) { return 1; } else
2021-11-25 20:57:07 674 2
原创 递归一:求1+2+3+。。。。+n和n的阶乘
int sum(int n){ if(n==1||n==0) { return 1; } else { return sum(n-1)+n;}}int main(){printf("%d",sum(4)); return 0;}
2021-11-25 20:42:57 422 1
原创 用malloc开辟二维数组
#include<stdio.h>//用malloc开辟二维数组int main() //每一行的元素地址连续,但不能保证相邻两行的地址首尾相接{ int **p=(int**)malloc(3*sizeof(int*));//竖着的那一个数组 for(int i=0;i<3;i++) { p[i]=(int*)malloc(4*sizeof(int));//横着的 } for(int i=0;i<3;i++) .
2021-11-25 20:31:20 469 2
原创 变量和内存总结
代码区:存放程序代码全局(静态)变量区:存放全局变量和静态变量,默认值为0栈:存放局部变量,内存区域小,默认值为随机值堆:存放动态内存区域,必须要手动释放,防止内存泄露。static:改变...
2021-11-25 18:45:46 64 1
原创 求100以内的素数,使用动态内存
使用动态内存:1.malloc int *p=(int*)malloc(n*sizeof(int))2.calloc int*q=(int*)calloc(10,sizeof(int))3.realloc int*p=(int *)realloc(p,n*sizeof(int)*2)malloc:从堆内申请动态内存头文件:stdlib.h或malloc.h注意事项:1.malloc的时候,前面的强转和后面sizeof内的类型不一致,sizeof后面的没有*号。...
2021-11-15 21:15:13 694 2
原创 验证身份证号的正确性
#include<stdio.h>#include<stdbool.h>bool ID_card(){ char crr[20]; scanf("%s",&crr); int arr[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; int tem=0; for(int i=0;i<17;i++) { tem+=(crr[i]-'0')*arr[i]; }...
2021-11-11 20:46:44 161
原创 有一行电文,按规律译成密码,第1个字母变成第26个字母,第i个变成第(26-i+1)个字母,非字母不变
#include<stdio.h>#include<ctype.h>void miwen(const char*str){ const char *lowalpha="zyxwvutsrqponmlkjihgfedcba"; const char *upper="ZYXWVUTSRQPONMLKJIHGFEDCBA"; char crr[100]; int i=0; while(*str!='\0') { i...
2021-11-11 20:42:08 593 1
原创 有一行电文,按规律译成密码:第1个字母变成26个字母,第1个字母变成第(26-i+1)个字母,非字母不变
#include<stdio.h>#include<ctype.h>void miwen(const char*str){ const char *lowalpha="zyxwvutsrqponmlkjihgfedcba"; const char *upper="ZYXWVUTSRQPONMLKJIHGFEDCBA"; char crr[100]; int i=0; while(*str!='\0') { i...
2021-11-11 20:31:09 730 2
空空如也
安转sql指定账户已存在什么意思
2021-10-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人