![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
web安全工具库
这个作者很懒,什么都没留下…
展开
-
C语言 -- CreateProcess创建进程
wchar_t lp[] = L"/c calc"; PROCESS_INFORMATION pi = {0}; STARTUPINFO si = { 0 }; BOOL b=CreateProcess( L"C:\\Windows\\System32\\cmd.exe", lp,NULL,NULL,TRUE,CREATE_NO_WINDOW,NULL, NULL, &si, &pi );第一个参数:常量,我们要创建的程序进程.原创 2021-12-26 17:08:47 · 1821 阅读 · 0 评论 -
C语言 -- 如何传递数组参数
一、传递普通参数,直接传入即可void arrprint(int arr){ printf("%d\n",arr);}void main(){ int arr = 123; arrprint(arr); printf("aiyou"); getchar();}运行结果:123aiyou二、传递数组的时候,需要将数组的长度也传入进去,否则只能传递一个第一个值void arrprint(int* arr,int len){ f原创 2021-11-04 09:04:39 · 6280 阅读 · 0 评论 -
C语言(链表、栈、树)
在街上看见一个人像你,我瞬间特别紧张,渴望是你,又害怕是你,直到看清不是你,我庆幸不是你,有遗憾不是你。。。---- 网易云热评一、链表1、link.c文件内容#include <stdlib.h>#include "01link.h"//链表的初始化函数void link_init(link *p_link) { p_link->head.p_next = &p_link->tail; //头节点向后指向尾节点 p_link->ta.原创 2020-10-30 08:52:23 · 152 阅读 · 0 评论 -
C语言数据结构(队列、循环队列)
孤独是什么,洗了个头,吹了个好看的发型,换了双干净的鞋子,穿了件帅气的衣服,去超市买了一包烟和一瓶水然后就回家了。。。---- 网易云热评一、队列1、queue.c内容#include "02queue.h"//队列的初始化函数void queue_init(queue *p_queue/*指向调用函数提供的代表队列的结构体存储区*/) { //初始化要保证队列里没有数字,也就是 //head和tail成员变量必须相等 p_queue->head = 0; .原创 2020-10-30 08:41:58 · 325 阅读 · 0 评论 -
C语言文件操作
其实最让人恐惧的不是年龄的递增,而是随着年龄的增长,你的知识、能力、头脑、眼光、存款都没有随之增长。。。---- 网易云热评1、写文件#include <stdio.h>int main() { int arr[] = {1, 2, 3, 4, 5}, size = 0; FILE *p_file = fopen("a.bin", "wb"); if (p_file) { size = fwrite(arr/*内存里第一个存储区的地址*/, siz.原创 2020-10-26 21:08:24 · 115 阅读 · 0 评论 -
C语言指针使用及动态分配内存
看到你的那一瞬间,就像是走了很远的路,我终于到家了,可是我歇一歇,还是得继续走啊。。。---- 网易云热评一、指针1、二级指针#include <stdio.h>int main() { int val = 0; int *p_val = &val; //一级指针 int **pp_val = &p_val; //二级指针 **pp_val/*val变量的存储区*/ = 10; printf("val是%d\n", v.原创 2020-10-23 08:07:30 · 507 阅读 · 0 评论 -
C语言多文件编译、结构体、枚举及联合
如果不是因为真的喜欢你,我纠缠你干嘛,我又何必那么卑微,那么不堪,甚至不停修改自己的底线,到最后变得一文不值。。。---- 网易云热评一、多文件编译1、新建add.c文件int add(int a, int b) { return a + b;}2、新建add.h文件#ifndef __ADD_H__ //防止多次包含#define __ADD_H__int add(int,int);#endif //__ADD_H__3、主函数调用#in.原创 2020-10-21 08:33:37 · 510 阅读 · 0 评论 -
C语言字符串、宏定义及主函数介绍
希望你每天醒来都是阳光的,不会因为别人的几句话、几个表情和几个举止,影响自己的心情,好好生活,总会遇见美好的事。。。---- 网易云热评一、字符串1、字符串声明#include <stdio.h>int main() {char str[] = "abc";//用字符串字面值对字符数组进行初始化,这样就可以把字符串字面值里的所有内容都放到字符数组里(包括'\0'字符)printf("sizeof(str)是%d\n", sizeof(str)...原创 2020-10-20 08:45:04 · 1354 阅读 · 0 评论 -
C语言变量和指针
男孩和青春只限于校园,踏出校园就要当成熟稳重的男人。。。---- 网易云热评一、变量非静态局部变量的作用域是函数里面的所有语句,生命周期是函数某一次执行的时间静态局部变量的作用域是函数里面的所有语句,生命周期是没有限制的静态全局变量的作用域只包含它所在文件里的所有语句,生命周期也是没有限制的非静态全局变量的作用域和生命周期都是没有限制的#include <stdio.h>int val1 = 0;//非静态全局变量static int val3...原创 2020-10-19 10:22:58 · 247 阅读 · 0 评论 -
C语言数组和函数
原来一个人真的可以难过到没有语言,没有情绪,就在那静静地发呆,突然鼻子一酸,眼泪就掉下来了。。。---- 网易云热评一、数组1、一维数组#include <stdio.h>int main() {//int arr[5];//数组声明语句,数组里包含5个整数类型的存储区//int arr[5] = {1, 2, 3, 4, 5};//数组初始化的方法//int arr[5] = {1, 2, 3, 4, 5, 6, 7};/...原创 2020-10-19 09:53:56 · 390 阅读 · 0 评论 -
C语言循环及条件语句
朋友以开玩笑的方式戳你伤疤,家人以对你好的名义限制你,爱你的人以不想耽误你离你而去,唯独陌生人安慰你。。。---- 网易云热评一、if语句1、判断正负数#include <stdio.h>int main() {int val = 0;printf("请输入一个数字:");scanf("%d", &val);/*if (val >= 0) {printf("非负数\n");}...原创 2020-10-09 20:10:48 · 741 阅读 · 0 评论 -
C语言自增减、逻辑运算、位运算、位移运算及三目运算操作
你崩溃到凌晨,她和他睡到自然醒。。。---- 网页云热评一、自增自减操作#include <stdio.h>int main() {int val = 0, val1 = 0;++val;//前操作printf("val是%d\n", val);val++;//后操作printf("val是%d\n", val);val1 = ++val;//前自增表达式作为数字使用的...原创 2020-10-03 19:53:48 · 234 阅读 · 0 评论 -
C语言变量、地址、字符及printf()/sizeof()/scanf()函数介绍
遗憾的是,两个人不能在一起,却偏偏相遇。。。---- 网易云热评一、ptintf()函数标准输出#include <stdio.h>int main() {printf("1\n");//1,把要显示的内容直接写在双引号里面.\n是一个字符,它代表换行。它可以让前面的内容和后面的内容分散在两行里printf("%d\n", 1);//1,可以把要显示的数字写在双引号后面,这个时候需要在双引号里使用占位符表示数字应该插入的位置pri...原创 2020-09-29 08:11:50 · 614 阅读 · 0 评论 -
QT案例词典 -- 释放堆区空间及查询单词
不是我不想,你上学我上班,我耽误你前程似锦,你耽误我成家立业,我的眼里都是烟花和生活,你的眼里都是未来和希望。。。---- 网易云热评一、释放堆区空间void free_dict(struct dict* tmp){int i = 0;for (i = 0; i < MAX; i++){ //释放指针变量if (tmp[i].key!=NULL){free(tm...原创 2020-09-27 08:35:18 · 167 阅读 · 0 评论 -
QT案例词典 -- 存储内容及遍历
遗憾的是,两个人不能在一起,却偏偏相遇。。。---- 网易云热评一、字典内容就三个词a:第一个字母b:第二个字母C:第三个字母#define MAX 3二、定义一个词的机构体struct dict{char *key;char* content;};三、存储三个词void get_dict(struct dict **tmp){//在堆区分配MAX个结构体空间*tmp = (struct d...原创 2020-09-14 08:39:56 · 421 阅读 · 0 评论 -
指针复习
如果有一天,你走路要戴耳机,坐车要靠窗,走在路上不会大喊大叫,被问问题会沉默,你会发现安安静静的挺好。。。---- 网易云热评一、返回栈区地址int *fun(){int a = 10;return &a; //函数调用完毕,a释放}int main(int argc,char *argv[]) {int* p = NULL;p = fun();*p = 100; //操作野指针指向的内存,容易报...原创 2020-09-11 08:08:58 · 75 阅读 · 0 评论 -
QT案例IDE编写 -- 另存为操作及编辑操作
小时候害怕天亮,因为醒来就得上学,长大时候害怕天亮,因为醒来就是生活。。。---- 网易云热评1、选择一个保存文件的路径,返回类型是QstringQString path=QFileDialog::getSaveFileName();if(path.isEmpty()){return;}2、转码,获取的路径为Qstring,fopen(),文件路径需要char*std::string str=code->fromUni...原创 2020-09-09 08:46:03 · 256 阅读 · 0 评论 -
QT案例IDE编写 -- 新建和保存文件及退出程序
我讨厌现在的自己,一边压抑着自己的情绪,一边装作没事的样子,一到深夜就彻底崩溃了,天亮后还要微笑面对生活。。。---- 网易云热评一、新建文件void MainWindow::on_actionxinjian_triggered(){//编辑区清空ui->textEdit->setText("");//路径内容清空,代表没有选择路径path="";//path.clear();}二、保存文件1、...原创 2020-09-09 08:44:09 · 312 阅读 · 0 评论 -
QT案例IDE编写 -- 编译操作
你不是睡不着,你只是还想着过去,还想着那个她。。。---- 网易云热评1、编一个C文件用到的命令是gcc xxx.c -o xxx2、运行编译好的程序xxx.exe3、首先获取路径,判断路径是否为空if(path.isEmpty()){return;}4、构建编译命令QString demo=path;demo.replace(".c","");QString cmd=QString("gcc %1 -o %2...原创 2020-09-09 08:42:26 · 298 阅读 · 2 评论 -
QT案例IDE编写 -- 通过枚举实现编码切换
低谷期一定要默默的熬过去,别去打扰任何人,否则留下的只是别人的笑柄,不论幸或不幸,你的挣扎无人能见,无人能懂。。。---- 网易云热评一、定义一个枚举enum MyCode{utf_8,gbk};二、定义一个枚举变量,默认设置为utf_8enum MyCode flag;flag=utf_8;三、设置编码按钮槽函数void MainWindow::on_actionUTF8_triggered(){flag=utf_8;...原创 2020-09-09 08:39:49 · 144 阅读 · 0 评论 -
QT案例IDE编写 -- 代码编写
感性的人过不了柴米油盐,理性的人过不了风花雪月,愿你一半烟火,一半诗意,过成自己喜欢的样子。。。---- 网易云热评一、将函数封装1、在mainwindow.cpp中将标签操作封装一下void MainWindow::test(){ui->label->setText("aiyoubucuoo");QString str;str=ui->label->text();cout << "str=" <...原创 2020-08-31 20:31:35 · 430 阅读 · 0 评论 -
QT案例IDE编写 -- 创建项目
让你心动的人,给不了你心安的感觉,让你心安的人,给不了你心动的感觉,或许,这就是答案。。。---- 网易云热评一、新建QT项目1、选择QtWidgetsApplication,文件--新建项目。一路下一步2、直接运行看是否会弹出窗口二、修改界面1、双击mainwindow.ui,进入设计页面2、修改菜单栏,在输入的地方按回车确认3、添加一label标签和textEdit标签,并选择栅栏三、代码讲解1、打开main....原创 2020-08-31 20:29:49 · 451 阅读 · 0 评论 -
C语言文本文件操作
不想接传单了,看见老人也不想让座了,也不想为了别人考虑了,收起一切善良和心软,因为这个世界从来没有善待过我。。。---- 网易云热评一、打开文件fopen()fp=fopen("123.txt","w");char buf[]="abc.txt";fp=fopen(buf,"w");char *p="123.txt";fp=fopen(p,"r");1、打开成功,返回有效地址2、打开失败,返回NULL3、“w”,如果文件不存在,新建一个123.txt,如果存在,清.原创 2020-08-24 21:01:27 · 520 阅读 · 0 评论 -
C语言打字游戏源码
到大街上,还是会羡慕那些情侣,但是依然相信舔狗一无所有,渣男满载而归。。。---- 网易云热评#include <stdio.h>#include <time.h>#include <stdlib.h>#include <string.h>#define MAX 51 //第一测试字母的最大长度void help(){printf("\n************************");printf(...原创 2020-08-21 20:33:52 · 1180 阅读 · 1 评论 -
C语言共用体和枚举的使用
我好像已经缓不过来了,我开始变的越来越不想说话,暴躁懒惰焦虑失眠,拿起手机又不知道干嘛,我不知道我怎么了。。。---- 网易云热评一、共用体使用#include <stdio.h>#include <time.h>#include <stdlib.h>#include <string.h>union Aiyou{int a;char b;double c;};...原创 2020-08-20 20:40:11 · 272 阅读 · 1 评论 -
C语言结构体
希望今年夏天的遗憾能成为你秋天的惊喜。。。。---- 网易云热评一、结构体概念可以简单理解为把不同数据类型放到一起的数组二、结构体声明与初始化1、先声明结构体类型再定义变量2、同时定义变量3、直接定义结构体类型变量#include <stdio.h>#include <time.h>#include <stdlib.h>#include <string.h>struct Aiyou{int y...原创 2020-08-19 19:47:39 · 106 阅读 · 0 评论 -
C语言结构体传值和传址及内存使用
毕业了,想留的人没能留住,想要的生活也没有如约而至,也就这样了。。。---- 网易云热评一、结构体值传递#include <stdio.h>#include <time.h>#include <stdlib.h>#include <string.h>struct Aiyou{int year;char* name;char* zdg;};//声明一个函数se...原创 2020-08-13 19:36:32 · 836 阅读 · 0 评论 -
C语言内存及堆栈操作
毕业了,想留的人没能留住,想要的生活也没有如约而至,也就这样了。。。---- 网易云热评在程序没有执行前,有几个内存分区已经确定,虽然分区确定,但是没有加载内存,程序只有运行时才加载内存:text(代码区):只读,例如函数data:初始化的数据,全局变量,static变量,文字常量区bss:没有初始化的数据,全局变量,static变量stack:栈区,返回值,普通局部变量,自动管理内存,先进后出的特点heap:堆区,手动申请空间malloc(),手动释放free(),程...原创 2020-08-11 20:35:25 · 310 阅读 · 0 评论 -
C语言值传递与址传递
高考过后,你不用告诉我你考多少分,悲喜之后也不要告诉我你志愿填了哪里,只要告诉我最后去了哪?我坐火车或飞机要多久,在此停留能否蹭口饭吃,一本二本我真的分不清楚,我只知道你是我朋友。。。---- 网易云热评一、值传递,形参的修改不会影响到实参#include <stdio.h>void jiaohuan(int a,int b) {int tmp = a;a = b;b = tmp;printf("a=%d...原创 2020-08-10 21:08:25 · 471 阅读 · 0 评论 -
C语言数组指针指针数组
以前我觉得成绩不重要,清华北大只能代表学生时代的成就,后来才发现,努力是种习惯,他会贯穿一生。。。---- 网易云热评一、相关知识1、数组名是数组首元素地址2、数组名是常量,不允许修改,int a[]={1,2,3,4,5}a相当于int *const a,a没法修改3、数组指针是一个指针,指向数组4、指针数组是一个数组,里面存储指针二、实例1、通过指针获取数组成员#include <stdio.h>int main() {...原创 2020-08-07 19:29:38 · 229 阅读 · 0 评论 -
C语言指针学习
人生最大的遗憾不是你错过最好的人,而是你错过了那个最想对你好的人。。。---- 网易云热评一、指针概念1、指针:内存区的每个字节都有一个编号,这个编号就是内存地址,也就是我们说的指针2、指针变量:指针变量是存放地址的变量3、指针也是一种数据类型int *p;p是变量,int*是数据类型4、万能指针:void * 可以指向任意类型指针5、指针步长:void *步长无法确定,所以需要转换,int *步长为4,char *步长为16、const:修饰指针,表示该指针是只读...原创 2020-08-05 20:04:13 · 111 阅读 · 0 评论 -
C语言函数及分文件编程
太阳不是突然落山的,希望你们永远听不懂这句话。。。---- 网易云热评一、库函数,不用考虑其原理,直接用就行strcpy、printf、strstr二、自定义函数优点:省去重复代码编写,降低代码的重复率1、无参数无返回值函数void aiyou(){ printf("我是无参无返回值函数");}void:无返回值aiyou:函数名,一个文件的函数名是唯一的():里面写参数{}:函数体2、有参无返回值函数void aiyou1...原创 2020-08-04 19:24:07 · 977 阅读 · 0 评论 -
C语言字符串与字符串函数
或许是多年再见,各自安静生活数年,在某个人潮拥挤的街头,透过公车的玻璃突然看见你。。。---- 网易云热评一、字符数组1、一个数组的元素是字符型,该数组是字符数组2、赋值方式:char c[ ]={'a','b','c'} //只有三个字符c[0]='a',c[1]='b',c[2]='c'3、处理已知长度的字符数组二、字符串1、C语言没有字符串类型,所以只能以字符数组,结束标识'\0'2、赋值方式:char c[10]={'a','b','c'} 会自动...原创 2020-07-31 20:23:03 · 124 阅读 · 0 评论 -
C语言变量作用域
希望你每天醒来都是阳光的,不会因为别人的几句话,几个表情和几个举止影响自己的心情,好好生活,总会遇见美好的事。。。---- 网易云热评一、块作用域b只能在大括号中使用,出了大括号就不能用了二、函数作用域参数和局部变量,a,b,d只能在该函数中可以用三、进程作用域全局变量,c在整个程序中都可被调用四、文件作用域静态全局变量,e变量只能在helloworld.c文件中调用,比如在该项目总新建一个test2.c文件,里面是不能调用e变...原创 2020-07-30 19:21:16 · 219 阅读 · 0 评论 -
C语言数组实例(冒泡算法、猜数字)
有人图你下半身,有人图你下半生,但为什么图你下半身的人像爷,图你下半生的却像一条狗。。。。---- 网易云热评一、冒泡算法#include <stdio.h>#include <stdlib.h>int main() {int a[] = { 1,6,3,8,5 };int b[][3] = { {1,2,3},{4,5,6},{7,8,9} };printf("一维数组的首元素地址:%p\n"...原创 2020-07-29 19:04:47 · 566 阅读 · 0 评论 -
C语言数据类型、常量及数组
如果有一天,你突然想起我对你的好,我希望你别哭,也别遗憾,因为,我不在。。。。---- 网易云热评环境:Win10VS2019一、基本类型1、整型默认都是signed有符号,同样还有无符号表示:unsignedshort(2字节):-32768-32767unsigned short(2字节):0-65535int(4个字节):-2147483648-2147483647unsigned int(4个字节):0-4294967295long2、字符型...原创 2020-07-25 16:11:03 · 874 阅读 · 0 评论 -
C语言控制流程
成绩前三的不一定是朋友,但后三一定是兄弟。。。---- 网易云热评环境:Win10VS2019一、if...else...判断一个数是否大于90,大于90输出优秀,小于90输出一般#include <stdio.h>#include <stdlib.h>int main() {int a;printf("请输入您的成绩:");scanf_s("%d",&a);if (...原创 2020-07-25 15:52:45 · 242 阅读 · 0 评论 -
循环语句(打印菱形)
给小时候的自己道个歉,很抱歉,没有活成那时期待的模样。。。---- 网易云热评环境:Win10VS2019一、语法结构for (循环变量赋初值; 循环条件; 循环变量增值){ 语句;}二、简单实例(打印1-10)#include <stdio.h>#include <stdlib.h>int main() {for (int i=0;i<=10;i++){...原创 2020-07-23 19:26:48 · 2135 阅读 · 0 评论 -
命名规则及格式化输出
年轻这个借口,不知道还能用多久。。。---- 网易云热评环境:Win10VS2019一、四种命名法则1、驼峰命名法:printStudentAge();首字母小写,后面每个逻辑断点的字母都是大写2、下划线命名法:print_strdeng_age();每个逻辑断点之间的字母用下划线连接3、匈牙利命名法:i_age前面指定数据类型,后面指定变量名字4、帕斯卡命名法:PrinrStrdentAge();和驼峰命名法相似,区别是首字母大写二、命名的基本原则1..原创 2020-07-21 19:14:27 · 303 阅读 · 0 评论 -
Hello World
她只是随口说说,而你却当了真,你认真努力的样子最终感动了自己。。。---- 网易云热评环境:Win10VS2019一、新建空项目二、设置项目名称和位置三、默认是C++环境,右击源文件,新建一个helloworld.c文件四、代码输入以下内容#include <stdio.h>//主函数int main() {printf("hello world!\r\n");system("pause");...原创 2020-07-18 16:43:08 · 150 阅读 · 0 评论