自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 无头单向非循环链表

首先创建一个头文件存放所需要的函数功能的声明slist.h#ifndef _SLIST_H#define _SLIST_H#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <malloc.h>typedef int SLTDataType;typede...

2019-06-30 17:26:18 184

原创 顺序表的实现

为了完成顺序表小工程,并且增加代码的可读性.我们将所有的函数声明以及结构体定义放在头文件中,所以先创建一个头文件 seqList.h创建一个源文件seqList.c用来写函数功能另一个源文件main.c测试代码功能首先把我们把结构体的定义和想实现的函数功能的声明放在头文件中seqList.h#ifndef _SEGLIST_H //为了防止头文件重复引用,没有定义就往下走,定义了就不走...

2019-06-28 19:58:47 249

原创 简单了解有关算法的时间复杂度和空间复杂度

首先是关于算法效率的问题.算法效率的分析一般可分为两种:一种是时间效率,一种是空间效率.时间效率被称为时间复杂度,而空间效率被称为空间复杂度.我们通常用时间复杂度去衡量一个算法的运行速度,而空间复杂度主要衡量的是一个算法所需要的额外空间.在计算机发展的早些时候,由于计算机的存储容量比较小,所以对于空间复杂度特别在乎,但是经过这么多年计算机行业的迅速发展,我们的计算机容量已经达到了一种相对较高...

2019-06-25 20:38:14 3124

原创 将字符串翻转的两种方法

#include <stdio.h>#include <stdlib.h>#include <string.h>//字符串翻转void Round_string1(char* str){ int left = 0; int right = strlen(str) - 1; char tmp; while (left < right){ ...

2019-06-24 19:00:13 1766

原创 关于文件结束的判定

在文件的读取过程中,feof函数的返回值不能直接用来判断文件是否结束.正确的用法是当文件读取结束时,判断是读取失败结束,还是遇到了文件尾结束.判断文本文件的读取是否结束,需要判断其返回值是否为EOF(fgetc),或者NULL(fgets).也就是说用fgetc获取文件内容时,需要判断是否为EOF(文件结束标志).用fgets获取文件内容时,需要判断其返回值是否为NULL.对于二进制文件的...

2019-06-23 19:26:03 1249

原创 C语言实现计算文件大小

首先,先介绍两个对C语言文件操作的函数fseek函数,用来根据文件指针的位置和偏移量来定位文件指针int fseek(FILE* stream, long int offset, int origin);offset表示偏移量.这里的origin参数一般有三种情况1.SEEK_CUR,表示文件指针的当前位置(也可用1来表示)2.SEEK_SET,表示文件指针的开始位置(也可用0来表示...

2019-06-20 19:20:12 2187

原创 C语言中对于文件的格式化输入输出,以及二进制输入输出

首先是对文件的格式化输入输出,这里用到的一对函数是fscanf与fprintffscanf,格式化输入函数#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>//对文件的格式化输出int main(){ FILE* fpr ...

2019-06-19 20:38:33 2789

原创 C语言对于文件的基本读写操作

之前已经对文件有了一些基本的了解,比如文件的定义,类型等,最重要的是关于C语言中对文件进行操作时的打开和关闭.C语言文件操作的基本认识(文件是什么,文件的类型,文件指针,文件的打开和关闭)接下来就来看C语言中对于文件的读写操作.字符输入函数和字符输出函数fgetc与fputc(每次获取一个字符)先来看fgetc,fgetc是从文件中获取一个字符#define _CRT_SECURE_...

2019-06-18 16:40:36 2592 1

原创 C语言文件操作的基本认识(文件是什么,文件的类型,文件指针,文件的打开和关闭)

什么文件磁盘上的文件是文件.一般情况下,在我们的程序设计中,会谈到的文件有两种:程序文件,数据文件程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe).数据文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件.接下来我们主要讨论数据文件.之前我们所处理数据的输...

2019-06-16 15:58:40 1918

原创 常见的动态内存错误

对NULL指针的解引用操作void test(){ int* p = (int*)malloc(sizeof(int)); *p = 20; //如果p的值时NULL,就会有问题 free(p);}对动态开辟空间的越界访问void test(){ int i = 0; int* p = (int*)malloc(sizeof(int) * 10); if (NULL == p...

2019-06-15 19:41:26 286

原创 关于动态内存分配以及常见的动态内存函数的介绍

在之前的学习中我们已经知道的内存开辟方式有:int val = 20; //在栈空间上开辟四个字节char arr[10] = { 0 }; //在栈空间上开辟10个字节的连续空间在上面这两种开辟空间的方式有两个特点:1.空间开辟的大小是固定的.2.数组在声明的时候,一定要指定数组的长度,它所需要的内存在编译时分配.在我们的实际应用中,对于所需要的空间需求,往往不仅仅是上面两种情况!...

2019-06-14 17:46:38 502

原创 枚举和联合(共用体)

从名字来看,枚举的意思就是列举,把可能的取值列举出来.从我们的日常生活中来看,有很多例子:1.一周的星期一到星期日是固定的7天,就可以列举出来.2.从性别来看,有男,女两种.3.月份也类似于一周,有固定的十二个月,也可以列举出来.类似于这样的例子有很多,碰到这样的情况,我们就可以使用枚举了.枚举类型的定义先来看几个例子:enum Day{ //星期 Monday, Tuesda...

2019-06-13 15:47:03 1009

原创 位段

自定义类型:结构体(结构体声明,结构体的自引用,结构体变量的定义和初始化)关于结构体的内存对齐结构体传参说完了结构体,就要说一说结构体实现位段的能力了.那么位段是什么呢?位段的声明和结构是类似的,但是会有两个不同:1.位段的成员必须是int, unsigned int, signed int 或 char2.位段的成员名后边有一个冒号和一个数字比如:...

2019-06-12 17:51:02 115

原创 模拟实现strcmp和strncmp

模拟实现strcmp#include <stdio.h>#include <stdlib.h>#include <assert.h>int my_strcmp(const char* str1, const char* str2){ int ret; assert(str1); assert(str2); while (!(ret = *(uns...

2019-06-11 22:39:28 107

原创 结构体传参

自定义类型:结构体(结构体声明,结构体的自引用,结构体变量的定义和初始化)关于结构体的内存对齐关于结构体传参先来看代码#include <stdio.h>#include <stdlib.h>struct S{ int data[1000]; int num;};//结构体初始化struct S s = { { 1, 2, 3, 4 }, 1000};...

2019-06-10 12:14:45 1141

原创 关于结构体的内存对齐

结构体内存对齐自定义类型:结构体(结构体声明,结构体的自引用,结构体变量的定义和初始化)在掌握结构体的基本使用之后,我们就要深入讨论一个问题了,就是关于计算结构体的大小.先来看几个例子:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string....

2019-06-09 15:48:05 131

原创 自定义类型:结构体(结构体声明,结构体的自引用,结构体变量的定义和初始化)

结构体的声明struct tag{ member-list;}variable-list;结构是一些值的集合,这些值称为成员变量.结构的每个成员可以是不同类型的变量.先来看一个例子,假如我们现在想要描述一个学生:struct stu{ char name[20]; //名字 int age; //年龄 char sex[5]; //性别 char id[20]; //学号...

2019-06-06 16:10:59 3120 1

原创 对于字符函数和字符串函数的介绍(下),strstr,strtok,strerror,memcpy,memmove

strstr函数的介绍char* strstr(const char* str1,const char* str2);strstr函数是在第一个字符串中查找第二个字符串是否存在.找到后将首地址返回,没找到就返回NULL.strstr例子#include <stdio.h>#include <stdlib.h>//strstr使用int main(){ ch...

2019-06-05 17:27:40 265

原创 对于字符函数和字符串函数的介绍(上),strlen,strcpy和strncpy,strcat和strncat,strcmp和strncmp

求字符串长度 strlen长度不受限制的字符串函数 strcpy strcat strcmp长度受限制的字符串函数介绍 strncpy strncat strncmp字符串查找 strstr strtok错误信息报告 strerror内存操作函数 memcpy memmove memset memcmpC语言中对字符和字符串的处理很多,但是C语言本身没有字符串类型,字符串通常放在常量字...

2019-06-04 20:23:01 364

原创 从标准数据读取一段整数,并将这段整数存储在一个动态开辟的数组中,数组的第一个元素是整数的个数,以后依次是这些整数

从标准数据读取一段整数,并将这段整数存储在一个动态开辟的数组中,数组的第一个元素是整数的个数,以后依次是这些整数.#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#define N 10int main(){ int* p = NULL; int num; int n ...

2019-06-02 18:11:34 138

原创 一级指针,二级指针,指针和数组,指针数组,数组指针

首先先来对指针就行一个简单的回顾.指针(指针是什么,指针和指针的类型)在对指针有了一个简单的了解之后,接下来我们就来看看指针更深层次的内容.在我们的一级指针中,其实它不光光能指向一个数字int i = 10;int* p = &i;除此之外,还有字符指针,数组指针,函数指针等等.首先我们来看字符指针,通过前面对指针的简单回顾,我们知道,在指针的类型中有一种指针类型为字符指针...

2019-06-01 17:30:45 226

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除