1 #include "stdio.h"
2 int search_second_max(int array[], int n,int m)
3 {
4 int max1;
5 int i,num;
6 num=1;//默认第一名
7
使用 getch() 函数,需要先引入 conio.h 头文件
然而,我使用的是 cygwin 作为编译环境,找不到 conio.h ,所以只能想办法找替代方法,或者自己构造一个具有类似功能的函数。
可惜,刚学编程没多久,一时之间也是没有想到什么合适的替代方法,若说自己构造这个函数,这就更难了。
于
一.使用environ指针输出环境变量
代码如下:
#include<stdio.h>
#include<string.h>
#define MAX_INPUT 20
/* 引用指针 */
extern char** environ;
int main(int arg
————————————————————————————————————————————————————————————————————————————————————————
本篇开始进行真枪实弹的调试,本文的最后会附上完整的源码包,方便各位在自己的机器上演练。
如果安装了 Windows D
———————————————————————————————————————————————————————————————————————————————————————————
本篇开始进入正题,因为涉及 MDL,所以相关的背景知识是必须的:
nt!_MDL 代表一个“内存描述符链表”结构
离散存储[链表]
1.定义:
n个节点离散分配,彼此通过指针相连
每个节点只有一个前驱节点
只有一个后续节点
首节点没有前驱节点,尾节点没有后续节点
2.专业术语:
首节点:第一个有效节点
尾节点:最后一个有效节点
头结点:并不存放有效数据,方便操作,头结点的数据类型和首
1 #include<stdio.h>
2 #include<string.h>
3
4 int main()
5 {
6 char a[100] = "aa_vfb_wffwk_fth_nnn";
7 char *s;//定义一个char
注:练习题目均出自《明解C语言 入门篇》
一、do语句
1,求多个整数的和及平均值
#include<stdio.h>
int main(void)
{
int sum = 0; //和
产生野指针原因的本质:指针变量和它所指内存空间变量是两个不同的概念。
解决办法:三步曲
1、定义指针时,把指针变量赋值成NULL
2、释放内存时,先判断指针变量是否为NULL
3、释放完内存后,把指针变量重新复制成NUL
#define _CRT_SECURE_NO_WARNINGS
前言
今天,在整理自己的代码的时候,考虑到我写的代码从一至终都是在一个cpp文件里面。于是,想把自己的代码中的各个模块分离开来,以便更好地阅读和管理。
遇到的问题
我的做法是:
宏定义、结构体定义、函数声明以及全局变量定义放到一个head.h头文件中
函数的定义放到head.cpp中
main函
本文是关于链表的一些操作(包括单链表和双向循环链表) 1、单链表,双链表的创建。 2、单链表和双链表的打印。 3、单链表的插入,删除。 4、双链表的插入和删除。 5、单链表的逆置。 6、单链表节点的个数。 7、单链表,双链表的查找。
函数源码:
1 //链表相关问题
2
3 typ
跨函数使用内存 一个函数运行结束,使用malloc函数分配的内存,如果不调用free,就不会释放 在另一个函数中还可以继续使用
#include <stdio.h>
#include <malloc.h>
//跨函数使用内存
//传递结构体指针,占用内存少
动态内存分配
静态内存分配数组 int a[5]={1,2,3,4,5}
动态内存分配数组
int len=5;
int *parr=(int *)malloc(sizeof(int) * len);
1.分配了 4*5 =20个字节的
结构体
为什么出现结构体
为了表示一些复杂的数据,而普通的基本类型变量无法满足需求
什么叫结构体
结构体是用户根据实际需要自己定义的复合数据类型
如何使用结构体
1.两种方式
一般使用结构体指针的形式来使用
所有的伟大源于一个勇敢的开始
数据结构预备知识
指针
1.指针:是C语言的灵魂,指针=地址
地址:内存单元的编号
指针变量:存放内存单元地址的变量
int *p;//p是指针变量,int *表示该p变量只能存储int类型变量
————————————————————————————————————————————————————————
在 rootkit 与恶意软件开发中有一项基本需求,那就是 hook Windows 内核的系统服务描述符表(下称 SSDT),把该表中的
特定系统服务函数替换成我们自己实现的恶意例程;
最近在调试stm32L151单片机,因为业务需要将从RTC获取的时间转换成时间戳。转换的时候发现获取的时间戳一直不对。一直被两个问题困扰。
1.从RTC获取出来的月份为什么比实际月份小1?
2.转换得来的时间戳一直不对。
检查半天发现原来是我没有正确的理解C中的struct tm
1 struc
1.新建一个Excel表格,并填入数据
2.选定一组数据,会有个快捷计算的小图标,快捷键是Ctrl+Q
3.生成折线图
问题: 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的
两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。
输入格式
输入的第一行
1.衡量算法的标准
算法
解题的方法和步骤
衡量算法的标准
1.时间复杂度
大概程序要执行的次数,而非执行的时间,不同的机器运行时间肯定不一样。
2.空间复杂度
算法执行过程中大概所占用的最大内存