自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c语言宏的使用

宏的机制是在预处理的时候实现替换例:#define ADD(x, y) ((x) + (y))替换过程中存在因为优先级导致代码出错的问题,故我们要加上括号确保运算的正确次序如果不加,下面代码就会出错 int main() { cout << ADD(a, b) * 10 << endl; cout << a + b * 10 << endl; cout << ADD(a | b, a & b)&l

2021-10-09 21:47:40 133

原创 模拟实现atoi

atoi函数的作用是将一个字符串中的数字变成整型的数字#include<stdlib.h>#include<assert.h>#include<ctype.h>#include<limits.h>enum State{ INVALID, VALID};enum State state = INVALID;int my_atoi(const char* s){ if (NULL == s) { return 0; } i

2021-08-03 17:26:26 124

原创 C语言进阶——自定义类型学习笔记

结构体的大小计算结构体的大小计算过程并不是按照小编(初学者)一开始想的那样只是简单地将结构体内部包含的数据大小一一相加,在这之中存在着一个内存对齐的过程,下面我们举例分析如何计算一个结构体的大小。例:我们首先给出一个结构体Astruct A{ int a; short b; char c; int d;};用图形表示其内存占用情况如下(其中一个方框表示一个字节)首先我们按顺序将第一个数据a放入,a的类型是int,大小为四个字节,故占用4个方框 ,下一个数据b类型为char,大小为两

2021-08-02 22:15:49 163

原创 字符函数学习笔记

强制类型转换是一种临时状态后置++的优先级比强制类型转换的优先级要高(53)(01:40)首先我们介绍字符分类函数字符分类函数的共同处是:向函数输入一个字符,如果该字符满足该函数的条件,就返回一个非零的整型数字,如果不满足,则返回0。举例:#include<ctype.h>int main(){ char ch1 = '2'; char ch2 = 'w'; int ret1 = isdigit(ch1); int ret2 = isdigit(ch2); printf(

2021-07-19 17:40:24 104

原创 strerror函数介绍

认识strerror库函数调用失败的时候会产生错误码,而每一个错误码对应着一条错误信息,strerror函数的作用就是将错误码给转化成错误信息。在C语言中有一条全局的错误码errno,在程序运行过程中,只要库函数调用失败,我们就会把此处产生的错误码放入变量errno中。返回值和参数:char * strerror ( int errnum );该函数的参数就是一个错误码,输入该错误码后,经函数内部处理,将该错误码转化成一条错误信息(类型是字符串)并将该错误信息(字符串)的地址返回。示例#inclu

2021-07-18 16:18:26 3726 1

原创 strtok介绍

这篇文章中我们来介绍strtok函数(只介绍,不涉及具体实现)初步认识 这个函数是用来实现字符串的分割的。首先我们要给定一些分隔符,这个函数能让让字符串按照这些分隔符分割成一个个的小字符串。举个例子:hello world@qq.com,这里分隔符有:‘空格’、‘@’和‘.’,我们利用strtok函数就可以把这个字符串分为”hello“,”world“,”qq“,"com"这四个字符串。进一步认识 该函数的返回值和参数:`char * strtok ( char * str, ...

2021-07-16 21:37:03 1211

原创 模拟实现strstr

认识strstrstrstr的功能是在一个字符串中检测它是否包含另一个字符串,如果包含,返回该包含的字符串首元素地址,若不包含,则返回空指针,它的参数为两个数组指针。使用举例:int main(){ char* str1 = "abcdefg"; char* str2 = "def"; printf("%s\n", strstr(str1, str2)); return 0;}直观上看,strstr第一个参数似乎是较长的字符串的地址,第二个参数似乎是较短的字符串的地址。如果我们将较短的字

2021-07-16 20:47:43 130

原创 strn系列函数

前面介绍的strcpy,strlen,strcmp均为作用长度不受长制的字符串函数。此处的长度不受限制与strn系列函数的作用长度受限制相对应,下面我们就来介绍strn系列函数——strncpy,strnlen,strncmp。首先是我们来解释为什么说这三个函数作用长度受限制。以strncpy为例,其声明为char *strncpy( char *strDest, const char *strSource, size_t count );相较于strcpy多了一个长度参数即size_t count(

2021-07-12 18:56:10 1367

原创 模拟实现strcmp

今天我们介绍strcmp函数并且进行它的模拟实现。首先来认识一下strcmp函数,这个函数的功能是完成两个字符串的比较。那么问题来了,两个字符串怎么比较呢?当两个字符串拿来比较时,他们的长度不一定相同,相同下标下字符也不一定相同,那么他们的比较准则是什么呢?...

2021-07-11 20:48:06 589

原创 strcat函数解析

一、认识strcatstrcat函数又被称为是字符串追加/连接函数,它的功能就是在一个字符串后面追加上另外一个字符串。使用方式如下:#include<string.h>#include<stdio.h>int main(){ char arr1[20] = "hello "; char arr2[] = "world"; strcat(arr1, arr2); printf("%s\n", arr1); return 0;}库函数中strcat函数的声明是

2021-07-08 17:59:10 78461 4

原创 模拟实现strcpy

首先我们先来认识一下strcpy这个函数,该函数的作用是将字符串1的内容拷贝到字符串2中,声明方式为char * strcpy ( char * destination, const char * source );其中destination所指向的地址是上文中的字符串2,source是字符串1上的地址模拟strcpy前我们先来熟悉一下strcpy的用法int main(){ char str[20] = { 0 }; strcpy(str, "hello"); printf("%s\n"

2021-07-08 15:33:11 837 1

原创 模拟实现strlen

模拟实现strlen包括但不限于三种方法1.计数器实现法2.函数递归实现法3.指针减指针实现法一、计数器实现法int my_strlen(const char* str){ assert(str != NULL); int count = 0; while (*str != '\0') { count++; str++; } return count;}该实现方法的核心就是设计循环中的计数器count,循环中指针str每向后移动一次,count就会加一,直到str指

2021-07-07 11:28:07 135

原创 const 修饰变量

const 修饰一般变量(以整型变量为例)该变量不可以通过再次对该变量进行赋值 的方式来修改了,但我们仍然可以通过通过对地址解引用的方式来表达该地址指向的内容并且修改它。例如const int num = 100;int* p = &num;num = 200;//用这种方式修改变量会报错,走不通。*p = 200;//这种方式是可行的。const 修饰指针变量1.const 在左侧此时const 修饰的是p,即指针p所指向的内容,该内容不可以通过p=###的方式去修改,而

2021-07-05 21:36:34 1759 4

原创 练好敲代码的内功——初识数据储存

最近小编学习了数据储存的相关知识,学的过程中感觉这部分知识可以帮助更加深入本质地去理解代码,但是由于小编脑容量太小,没有办法一次性把这些知识全部记住,于是就想借用博客的方式来帮助自己理解巩固这部分的相关知识。那么废话不多说,我们开始。一、数据类型介绍首先再来回顾一下基本的内置类型char 字符数据类型,占据储存空间大小为一个字节short 短整型,占据储存空间大小为两个字节int 整形,占据储存空间大小为四个字节long 长整型,占据储存空间大小为四个字节l

2021-05-27 17:39:58 588 5

空空如也

空空如也

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

TA关注的人

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