![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
李柒岁
这个作者很懒,什么都没留下…
展开
-
双端队列详解+C语言实现基本操作
双端队列的定义:可以在两端做插入和删除操作的队列就叫做双端队列一般来说,双端队列用循环数组来实现。push 将元素插入表头 front- -pop 删除头部元素 front++inject 将元素插入到表尾 rear++eject 删除尾部元素 rear- -我们初始化时,rear=front=0;我们在实现双端队列是时候需要注意以下几点:1.front指向第一个元素的下标(初始化为0)2.rear指向最后一个元素的下标的下一个位置(初始化为0)对于每一种操作:Push:先把front原创 2020-09-29 17:52:37 · 2167 阅读 · 1 评论 -
【C语言笔记】二维数组的传递/二维数组作为函数的返回值
1.传递二维数组我们有时需要传递二维数组,方法如下main函数中的实参为二维数组的数组名: int arr[2][3]={1,2,3,4,5,6}; Array(arr);//某函数调用 函数中形参void Array(int** arr);2.二维数组作为函数的返回值char ** buildArray(int* target, int targetSize, int n, int* returnSize){ char **string; string=(cha原创 2020-07-22 20:34:27 · 5665 阅读 · 0 评论 -
【C语言学习笔记】基础语法及各类bug总结
注:此blog为个人学习C语言总结之用,不定时补充更新,欢迎收藏与留言~1.出现程序停止运行的原因:错解:scanf("%d%d",a,b);运用输入函数scanf时,a,b前未加取地址符&。正解:scanf("%d%d",&a,&b);2.字符串与整型变量前后输入时:主函数里有这样一段: int sum; int a,b; char c; scanf("%d%d",&a,&b); scanf("%c",&a原创 2020-07-15 22:09:56 · 305 阅读 · 0 评论 -
【C语言学习笔记】结构体声明/结构体指针/ typedef/嵌套的结构体/初始化 详细总结
C语言结构体详细总结1.结构体的声明1.1.基本类型1.2.无名结构体1.3.结构体常见的定义方式2. 结构体的初始化3.结构体指针4.结构作为函数参数结构体指针作为函数参数1.结构体的声明1.1.基本类型struct data{ int month; int day; int year;};对于此基本结构:结构体类型是struct datadata是自己为描述这种结构体类型而取的名字,一旦定义了一种结构体,就要为这种定义了的结构体取名字,往后所有代码,struc原创 2020-07-04 17:04:54 · 1997 阅读 · 0 评论 -
【C语言学习笔记】全局变量/静态本地变量
全局变量1.没有初始化的全局变量会得到0,指针会得到NULL值。2.只能用编译时刻已知的值来初始化全局变量。比如int a=12;int b=a+2;会出现错误,因为系统会认为你把一个变量的值作为一个全局变量的初始值,即使我们知道b为14。应该如下修改就可以了。但是非常不建议用这种方法初始化全局变量。const int a=12;int b=a+2;3.它们的初始化发生在main函数之前。4.当出现和全局变量同名的变量时,全局变量会隐藏。在更小地方,你可以重新定义在更大地方出现过原创 2020-07-04 16:58:57 · 238 阅读 · 0 评论 -
【C语言学习笔记】指针作为函数参数传递地址详解
1.值传递swap1#include <stdio.h>void swap1(int x,int y){ int t; t=x; x=y; y=t;}int main(){ int a=1,b=2; swap1(a,b); printf("s1:a=%d,b=%d\n",a,b); return 0;}显然,这是无法改变a,b的值的,只能改变形参x,y的值。2.传地址#include<stdio.h>void swap1(int *px,原创 2020-07-04 11:44:25 · 3904 阅读 · 0 评论