c
belongAL
努力的阿鲤
展开
-
详解C操作符总结
操作符详解操作符和表达式目录1:算术操作符2:移位操作符3:位操作符4:赋值操作符5:单目操作符6:关系操作符7:逻辑操作符8:条件操作符9:逗号表达式10:下标引用,函数调用和数据结构一;算术操作符/ %加 减 乘 除 取模特殊举例:1:#include<stdio.h>int main(){int a = 1;int b = ...原创 2019-05-28 20:40:13 · 146 阅读 · 0 评论 -
C函数的介绍
阿鲤总结了一下自己学习的c语言函数,现在分享给大家阿鲤将以以下顺序向大家介绍函数;(附递归图)1函数是什么2库函数3自定义函数4函数参数5函数调用6函数的嵌套调用和链式访问7函数的声明和定义8函数递归下来,我们就正式向大家介绍;一:函数是什么?1:在维基百科中,是这样对c语言中的函数描述的;在计算机科学中,子程序(函数),是...原创 2019-07-28 21:50:24 · 463 阅读 · 0 评论 -
c语言中的动态内存管理-举例说明-malloc free calloc realloc
阿鲤将以以下顺序介绍c语言的动态内存管理一:为什么存在动态内存分配;二:动态内存函数的介绍;1:malloc2:free3:calloc4:realloc三:常见的动态内存错误;四:几个经典的笔试题;五:柔性数组;一:为什么存在动态内存分配;在阿鲤以前的学习中,开辟内存都是以以下方式进行的,int a; char arr[10]但是这样开辟出来的空间是固定的;而有时候需要的空...原创 2019-07-18 11:33:54 · 202 阅读 · 0 评论 -
c语言中的自定义类型
阿鲤将以以下顺序总结自定义类型的学习;一:结构体1,结构体类型的声明2,结构体变量的定义和初始化3,结构的自引用4,结构体内存对齐5,结构体传参6,结构体实现位段(位段的填充&可移植性)二:枚举1,枚举类型的定义2,枚举的优点3,枚举的使用三:联合1,联合类型的定义一:结构体;1:结构体的声明eg1:描述一个学生struct Stusent{ char...原创 2019-06-25 10:48:58 · 897 阅读 · 2 评论 -
指针的简单介绍
1:指针是什么?答:指针利用地址,使它的值直接指向存在电脑存储器的某地址的值,因为通过地址所找的值是变量单元,所以指针也是变量,所以指针也就是地址。原创 2019-06-16 09:44:12 · 251 阅读 · 0 评论 -
c语言的循环和选择语句
经过这段时间的学习 我初步掌握了分支语句和循环语句;以下为我的总结;分支语句:if switch循环语句:while for do while goto语句if语句:if(表达式)语句;if(表达式)语句1;else语句2;if(表达式1)语句1;else if(表达式2)语句2;else语句3switch 语句;switch(n){ca...原创 2019-05-06 20:33:17 · 301 阅读 · 0 评论 -
高质量c++/c编程指南—内存管理篇
以下是阿鲤对高质量c++/c编程指南的读书笔记及自己的理解,分享出来希望对大家有用。这里是第七章的内容:1:内存的分配方式。2:常见的内存错误及其对策。3:指针与数组的对比。4:指针参数是如何传递内存的?5:free和delete把指针怎么啦?6:动态内存会自带释放吗?7:杜绝“野指针”8:有了malloc/free为什么还要new/delete9:内存耗尽怎么...翻译 2020-03-06 12:32:48 · 245 阅读 · 0 评论 -
高质量c++/c编程指南—之规则篇
以下是阿鲤对高质量c++/c编程指南的读书笔记,分享出来希望对大家有用。这里是前六章的内容,比较简单,可能需要花费一两个小时阅读1:文件结构2:程序的版式3:命名规则4:表达式和基本语句5:常量6:函数设计翻译 2020-02-25 12:59:45 · 481 阅读 · 0 评论 -
指针的介绍
下面是阿鲤对指针更深学习的一些总结,再此分享,若有错误请指出,若有不懂评论区见哦我将按照以下目录向大家介绍指针的细节字符指针数组指针指针数组数组传参和指针传参函数指针函数指针数组指向函数指针数组的指针回调函数指针和数组面试题的解析.原创 2019-06-21 21:35:38 · 219 阅读 · 0 评论 -
c语言关键字总结
以下是阿鲤对c语言中关键字的总结复习,希望对大家有所帮助1:auto 2:const 3:break continue4:switch case default5:char int long float double6:while do7:if else8:for9:enum10:extern11:go to12:register...原创 2020-01-20 12:38:46 · 586 阅读 · 0 评论 -
c语言简单易懂的三子棋小游戏
我们在这里创立了三个文件,分别是 game.h test .c game .c如下为具体代码game.h#define _CRT_SECURE_NO_WARNINGS#define line 3#define rank 3#include<stdio.h>#include<stdlib.h>#include<time.h>void me...原创 2019-05-19 20:43:48 · 199 阅读 · 0 评论 -
realloc函数+二级指针对改变函数内数组容量错误总结
阿鲤今天在vs中尝试在函数内改变数组的容量时,使用了二级指针;结果发生了错误,现在对错误做出总结,希望对大家有所帮助。首先上代码错误代码:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>void fun(int** arr){ (*arr)[0] = 1; (*...原创 2019-10-09 19:36:07 · 422 阅读 · 0 评论 -
两张图带你了解c/c++中的内存分布
一:说明:1. 栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。2. 内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。(Linux课程如果没学到这块,现在只需要了解一下)3. 堆用于程序运行时动态内存分配,堆是可以上增长的。4. 数据段--存储全局数据和静态数据。5. 代码段--可执行的代码...原创 2019-10-05 08:55:46 · 213 阅读 · 0 评论 -
c和c++中struct的区别
1:在c++中,定义结构体不需要加struct ,而c中不行2:c++struct可空 ,而c的struct不可空3:在c++中可以直接声明和定义函数,在c中只能放函数指针4:在c++中,成员函数直接可以访问本结构的成员而无需传入;/在c中函数和结构无直接关系ps:成员函数不影响结构体大小,成员函数放在公共区域...原创 2019-09-28 21:26:08 · 429 阅读 · 0 评论 -
栈的介绍及面试题代码(括号匹配问题)
1:栈1.1栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。——后进先出 1.2:栈的实现...原创 2019-09-16 13:48:40 · 175 阅读 · 0 评论 -
图解复杂链表的拷贝
描述:给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的深度拷贝。、函数代码:头文件:#ifndef _PLIST_H_#define _PLIST_H_#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>...原创 2019-09-14 18:35:39 · 157 阅读 · 0 评论 -
查找带环链表的入环点——数学+图 = 证明
首先上代码(c代码)void pListFirstRingNode(pList *pHead){ pList pFast = *pHead; pList pSlow = *pHead; pList pTmp = NULL; while (1) { pFast = pFast->_pNext->_pNext; pSlow = pSlow->_pNext...原创 2019-09-13 21:24:15 · 369 阅读 · 0 评论 -
无头单链表的一些基本操作
实现以下功能pList pListinit(pList *pHead);//初始化void pListPushBack(pList pHead, DataType data);//尾插pList pBuyNewNode(DataType data);//创建一个新节点void pListShow(pList pHead);//打印void pListDeleteAll(pList...原创 2019-09-11 22:08:43 · 238 阅读 · 0 评论 -
局部变量,静态局部变量,全局变量,静态全局变量的简单介绍
作用域 生命周期 默认值 普通全局变量 整个工程 程序运行到程序结束 0 静态全局变量 当前文件 程序运行到运行结束 0 普通局部变量 函数内 函数运行到运行结束 随机值 静态局部变量 函数内 程序运行到运行结束 0 ...原创 2019-08-15 16:48:52 · 187 阅读 · 0 评论 -
C语言学习第一节——初识c语言
这篇文章回向大家简单的介绍一下c语言的基础只是,让大家对c语言有一个大概的认识;以下是本节的介绍顺序,看不懂没关系,后面会再做详解(我所有的代码均会在vs2017上运行,如果可以请下载一个)1:数据类型2:变量、常量3:字符串+转义字符+注释4:选择语句5:循环语句6:函数7:数组8:操作符9:常见关键字10:define 定义常量和宏11:指针12:结构体接下来让我们...原创 2019-07-27 14:31:49 · 542 阅读 · 1 评论 -
c语言中关键字static的作用
在我们日常使用过程中,static通常有两个作用:1、修饰变量静态全局变量:全局变量前加static修饰,该变量就成为了静态全局变量。我们知道,全部变量在整个工程都可以被访问(一个文件中定义,其它文件使用的时候添加extern关键字声明 ),而在添加了static关键字之后,这个变量就只能在本文件内被访问了。因此,在这里**,static的作用就是限定作用域**。静态局部变量:局不变量添加了...原创 2019-08-10 16:36:10 · 303 阅读 · 0 评论 -
c语言文件操作总结
阿鲤将以以下顺序向大家介绍C语言的文件操作1:什么是文件2:文件名3:文件类型4:文件缓冲区5:文件指针6:文件的打开与关闭7:文件的顺序读写8:文件的随机读写9:文件的结束判定一:什么是文件?但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为...原创 2019-07-19 13:51:56 · 262 阅读 · 0 评论 -
在一个从左到右和从上到下都递增的二维数组中,查找一个数并返回坐标;
要求:时间复杂度0(n)#include<stdio.h>#include<stdlib.h>typedef struct ret{ int x; int y;}two;two Find(int (*arr)[4], int row, int col,int k){ two m; m.x = 0; m.y = 3; while (m.x &...原创 2019-08-17 07:41:22 · 270 阅读 · 0 评论 -
彩色进度条
注:此代码实在Linux环境下执行的;首先上代码:1 #include<stdio.h> 2 #include<unistd.h> 3 4 char str[100] = {'\0'}; 5 const char *lable="|/-\\"; 6 int main() 7 { 8 int i = 0; 9 for(i ...原创 2019-08-28 15:42:08 · 145 阅读 · 1 评论 -
计算数组中第三大元素
注:阿鲤实在Linux平台上测试的#include<stdio.h>int Third(int *nums,int numsSize){ int i = 0; int min = nums[0]; while(i < numsSize)//find the smallest number. { if(min > nums[i]) ...原创 2019-08-29 15:04:33 · 386 阅读 · 0 评论 -
报数 - 递归解决 (c)
首先 描述题目;括号内部是解释(对上一层的藐视)输入 输出 1 1(一) 2 11(一个一) 3 21(两个一) 4 1212(一个二,一个一) 5 11121112(一个一,一个二,一个一,一个二) 6 31123112(三个一,一个二,三个一,一个二) 这样例如你输入5就会输出“11121112”;代码实现:递归...原创 2019-08-31 12:10:09 · 207 阅读 · 0 评论 -
对‘0’ - 48 等于0的解释
首先请看一下ASCII表0011 0000 060 48 0x30 0 字符0 0011 0001 061 49 0x31 1 字符1 0011 0010 062 50 0x32 2 字符2 0011 0011 063 51 0x33 3 字符3 0011 ...原创 2019-08-31 14:26:12 · 1932 阅读 · 0 评论 -
求最后一个单词的长度
方法一:从后遍历int lengthOfLastWord(char * s) { int len = strlen(s) - 1; char *p = s; int count = 0; if(len == -1) { return 0; } while ((count == 0 || *(p+len) != ' ') && l...原创 2019-09-01 08:30:05 · 141 阅读 · 0 评论 -
数据结构之顺序表
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组 上完成数据的增删查改;在这份代码里分别完成了一些线性表的功能;在我理解,线性表就是将数组结构化。list.h#ifndef _LIST_H_#define _LIST_H_#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>...原创 2019-09-07 16:58:17 · 163 阅读 · 0 评论 -
不带头节点总结
这些基本的操作在代码里都有注释,任意位置插入有图解,有了这些应该可以看懂了,看不懂的话请留言阿鲤给你解释。希望可以对大家有一点帮助(文件在最后)首先任意位置插入的图解:首先总代码是这样的void SListInsert(pNode pos, SDataType data)//任意位置插入{ if (NULL == pos) return; else { pNode...原创 2019-09-08 10:09:22 · 162 阅读 · 0 评论 -
counst修饰的指针
const修饰指针式分别有以下三种情况;一:const位于*号左边,const修饰指针所指向的变量,即指针指向为常量,可以先不进行初始化;int b = 500;const int *a = &b;int const *a = &b;//指针所指向的内容为常量,内容不能被改变二:const 位于*号右边,const修饰指针本身,即指针本身是常量,定义时...原创 2019-09-08 23:23:35 · 820 阅读 · 0 评论 -
图解无头单链表的两种逆置方法
方法一:三指针法首先,上代码void pListReversal1(pList *pHead)//反转单链表1:三指针法{ assert(pHead); pList pFast = *pHead; pList pMiddle = *pHead; pList pSlow = NULL; while (pFast) { pFast = pFast->_pNext;...原创 2019-09-11 20:14:59 · 1379 阅读 · 0 评论 -
小端逆序大端
c语言编码,实现函数long htonl(long a),也就是将主机序转化为网络序网络序统一为大端。该算法主要需要测试主机序,如果是大端则不做任何的改变,如果是小端则逆序首先,请看代码;#include<stdio.h>#include<stdlib.h>int htonl_small(){ int a = 1; return *((char*)...原创 2019-08-25 15:26:39 · 241 阅读 · 0 评论