1 宫瑞阳

学生身份

我要认证

凡是过往 皆为序章

等级
TA的排名 10w+

【C】 一篇文章搞定C语言文件操作(巨细致)

C语言文件操作文章目录C语言文件操作什么是文件?什么是文件名?文件有哪些类型?文件缓冲区文件指针文件的打开与关闭文件的顺序读写文件的随机读写文件的结束判定什么是文件?“文件”一词最早在1952年用于计算机数据方面,指的是在打孔卡上所储存的信息。计算机文件(或称文件、电脑档案、档案),是存储在某种长期储存设备上的一段数据流。“长期储存设备”一般指磁盘、光盘、磁带等。特点是所存信息可以长期、多次使用,不会因为断电而消失。什么是文件名?计算机文件名由 基本名 和 扩展名 构成,基本名和扩展名

2020-07-10 11:44:44

【C】不是吧啊sir,学了这么久还不知道动态内存管理?

动态内存管理为什么要有动态内存分配我们已经掌握的开辟内存方式:int a = 20;char c = ‘c’;int a[20] ;等等等…以上的这些开辟的内存都是已经固定好了的,数组在声明时,必须指定数组长度,编译之后便不能增减了,那么当我们遇到像只有在运行时才能知道我们需要多大的内存空间时的需求该怎么办呢?什么是动态内存函数mallocfreecallocrealloc常见的动态内存错误柔性数组经典面试题...

2020-06-30 16:48:33

【C】一篇文章搞懂C语言的自定义类型之共用体的入门到入坟

自定义类型自定义类型一共只有三种:1.结构体类型2.枚举类型3.联合类型联合类型联合类型的定义联合的特点联合所占内存的计算

2020-06-29 13:37:47

【C】一篇文章搞懂C语言的自定义类型之枚举的入门到入坟

自定义类型自定义类型一共只有三种:1.结构体类型2.枚举类型3.联合类型枚举类型如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓“枚举”就是把可能的值 一 一 列举出来,变量的值只限于列举出来的值得范围内声明枚举类型用enum开头枚举类型的声明与定义枚举类型的声明:enum Weekday{ sun, //周日 mon, //周一 tue, //周二 wed, //周三 thu, //周四 fri, //周五 sat //周六};enum sex{

2020-06-27 14:27:34

【C】一篇文章搞懂C语言的自定义类型之结构体的从入门到入坟

自定义类型自定义类型一共只有三种:1.结构体类型2.枚举类型3.联合类型结构体类型c语言中已经有了float、int、double等数据类型存放某一个数据,有了数组来存放一堆相同类型的数据,如果想存储一堆不同类型的数据就需要使用到结构体类型结构体类型的声明1.非匿名结构体的声明非匿名结构体声明模板:struct 结构体名字{ 数据成员;}变量名; //这里的定义变量可以省略例子:struct Student{ char name[20]; //姓名 int age;

2020-06-27 13:36:42

【C】看了这篇博客,我学会了用C语言写一个通讯录系统

通讯录实现一个通讯录通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法添加联系人信息删除指定联系人信息查找指定联系人信息修改指定联系人信息显示所有联系人信息清空所有联系人以名字排序所有联系人定义结构体typedef struct contactNode{ //定义联系人结构体 char name[15]; char sex[15]; int age; char number[20]; char address[100];};

2020-06-26 13:58:31

LeetCode - 字符串 - 验证回文串

题目:验证回文串难度:简单题目描述:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。示例1:输入: “A man, a plan, a canal: Panama” 输出: true示例2:输入: "race a car"输出: falseC语言解法:一个头指针,一个尾指针,前后对比bool isPalindrome(char * s){ int len = strlen(s); if (len == 0 || len == 1){ return t.

2020-06-19 12:17:32

【C】memcpy memmove等内存操作函数

memcpyvoid* memcpy ( void* destination, const void* source, size_t num );作用:按字节进行拷贝参数说明:destination:目标数组source:源数组num:需要拷贝的字节数返回值:destination官方说明:复制内存块将num bytes的值从源指向的位置直接复制到目标指向的内存块。源指针和目标指针指向的对象的基本类型与此函数无关;结果是数据的二进制副本。函数不检查源中是否有任何终止的空字符-它

2020-06-13 17:12:13

LeetCode - 数组 - 删除排序数组中的重复项

题目:删除排序数组中的重复项难度:简单题目描述:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该.

2020-06-13 14:09:41

LeetCode - 动态规划 - 爬楼梯(青蛙跳台阶)

题目:爬楼梯(青蛙跳台阶)难度:简单题目描述:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例1:输入: 2 输出: 2解释: 有两种方法可以爬到楼顶。方法一 :1 阶 + 1 阶方法二: 2 阶示例2:输入: 3 输出: 3解释: 有三种方法可以爬到楼顶。方法一 :1 阶 + 1 阶 + 1 阶方法二 :1 阶 + 2 阶方法三 :2 阶 + 1 阶解题思路:假设当n=1时,只有一种方法到达1楼,那就.

2020-06-13 12:13:05

【C】strcpy strcat strlen strcmp等字符串函数的使用与说明

strlensize_t strlen ( const char * str );作用:获取字符串长度参数说明:传入一个字符数组或者指向一个字符串的字符指针返回值:字符串长度官方说明:C字符串的长度由终止的空字符决定:C字符串的长度等于字符串开头和终止的空字符之间的字符数(不包括终止的空字符本身)。测试程序 char *test = "abcdef"; int length = strlen(test); printf("字符串长度为:%d\n",length);output

2020-06-11 01:05:47

LeetCode - 数组系列 - 罗马数字转整数

题目:罗马数字转整数难度:简单题目描述:- 示例 1:输入: “III”输出: 3示例 2:输入: “IV”输出: 4示例 3:输入: “IX”输出: 9示例 4:输入: “LVIII”输出: 58解释: L = 50, V= 5, III = 3.示例 5:输入: “MCMXCIV”输出: 1994解释: M = 1000, CM = 900, XC = 90, IV = 4.C语言算法:根据题意进行逻辑判断int romanTo..

2020-06-10 11:39:32

LeetCode - 数组系列 - 回文数

题目:回文数难度:简单题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。C语言算法1:将数字每一位都放入数组,然后前后比对bool ..

2020-06-10 11:25:20

LeetCode - 数组系列 - 整数反转

题目:整数反转难度:简单题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。C语言解法:int reverse(int x){ long count=0; wh.

2020-06-10 10:29:22

LeetCode - 数组系列 - 两数之和

题目:两数之和难度:简单题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]C语言解法:算法总结:暴力遍历寻找两个数的和为目标数,找到存放好返回时间复杂度:O(n * n).

2020-06-08 17:34:47

【C++总复习】 第七章----输入输出流

1.标准输出流1.1 cout、cerr、clog流coutcout是console output的缩写,意为在控制台的输出cout<<"Hello World!!"<<endl;输出:图解cout输出原理:cerrcerr是console error的缩写,意为“在控制台显示出错信息”用法与cout类似 cerr<<"Wrong input!!"<<endl;输出:clogclog是console log的缩写

2020-06-06 15:17:12

【C++总复习】 第六章----多态性与虚函数

1.多态性多态性定义:向不同对象发送同一个消息,不同的对象在接收时会产生不同的行为(即方法)。也就是说,每个对象可以用自己的方式去响应共同的消息,就是调用函数,不同的行为就是指不同的实现,即执行不相同的函数。例如:老师给你和你妈妈(不同对象)同时发送了你的期末考试成绩(消息),对于这一信息,你在思考为何会错(可能你在思考回家会不会挨打),你妈妈在思考等你回家怎么揍你(不同行为)多态的另一种理解:编译时一种状态,运行时一种状态程序的多态性:编译时多态:又叫静态多态,程序在编译阶段就能决定调用哪个

2020-06-05 11:58:45

【C++总复习】 第5章----继承与派生

1.继承继承:在一个已经存在的类的基础上建立一个新的类。已存在的类称为父类、基类;新建立的类称为子类、派生类。一个派生类只从一个基类派生称为单继承一个派生类有两个或多个基类称为多重继承图解单继承图解多继承- 派生类是基类的具体化,而基类则是派生类的抽象从上图中可以看出:1.小学生、中学生、大学生、研究生、留学生是学生的具体化,都是从学生的共性基础上加上某些特点形成的子类2.学生则是各类学生共性的提取形成的一个抽象的类3.基类综合了派生类的公共特征,派生类则在基类的基础上增加某些特性

2020-06-04 14:41:14

【C++总复习】 第4章----运算符重载

说在前面:C++将C语言中的左移运算符(<<)进行了运算符重载,变成了与流对象cout配合使用的流插入运算符;将右移运算符(>>)进行了运算符重载,变成了与流对象cin配合使用的流提取运算符,这就是利用了运算符重载。运算符重载格式:函数类型 operator 运算符名称(形参表){ 对运算符重载处理 }例如:A operator + (A &);重载了类A的“+”运算符“operator +“重载了运算符”+”1.双目运算符重载1.1 opera.

2020-06-03 16:22:32

【C++总复习】第3章----类和对象的正确使用

1.构造函数对象初始化:创建对象时,给变量第一次赋值称为对象初始化。构造函数:处理对象初始化问题;构造函数是一种成员函数,无需用户调用,而是建立对象时自动调用匹配的构造函数。构造函数的名字与它所属的类名相同,被声明为公有函数,且没有任何类型的返回值。允许为内联函数、重载函数、带默认形参值的函数。1.1无参数的构造函数无参数构造函数就是不给构造函数传参无参构造函数可以不写,系统会默认给出无参构造函数class Student{private: int age; int num;

2020-06-01 21:01:11

查看更多

勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取