自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 语言文件操作

磁盘上的文件就是文件但是在程序设计中,我们一般谈的文件有两种:程序文件,数据文件(从文件功能的角度来分类的)。

2022-10-20 17:27:19 442 1

原创 动态内存管理

C语言最重要的是指针,结构体,动态内存管理,这篇博客主要分享动态内存管理以及相关例题这里是cool fire,希望这篇博客对你有所帮助mallocvoid*malloc(size_tsize);Routinemalloc1.malloc只负责开辟内存,不关心内存要存放的的数据类型,所以返回的是void*类型的指针,使用时常将malloc强制类型转换为所需要的数据类型2.当使用malloc要开辟对于全部内存来说是很大的空间时,会开辟失败,这时malloc会返回空指针。

2022-10-17 14:09:40 342 1

原创 自定义类型详解(结构体,枚举,联合)

在定义结构体类型的同时定义结构体变量{int x;int y;}p1;定义结构体类型后,定义结构体变量{int x;int y;};初始化{int x;int y;结构体包含结构体的初始化{int i;};{int x;};}位段的声明和结构体是类似的,有两个不同:1.位段的成员必须是int , unsigned int ,或,signed int2.位段的成员名后边有一个冒号和一个数字struct A{

2022-10-14 16:19:53 345

原创 字符函数和字符串函数

C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串中或者字符数组中字符串常量适用于那些对它不作修改的字符串函数求字符串中的字符个数strlensize_tstrlen(constchar*string);可以看到size_t是unsigned int通过typedef定义的新名字strlen用来求字符串中字符的个数int main(){//这种数组在最后隐含了'\0'

2022-09-29 18:09:54 424

原创 指针简单例题

结果分别是2和5,&a取出了数组地址,+1跳过这个数组,然后ptr作为整型地址-1,就指向了了5所在的地址,第二个结果就是5,第一个结果就是取出数组首元素地址,+1后,跳过一个整型地址,指向下一个地址,解引用后,就是2。解释图:(解释如何理解p[4][2],以及p[4][2]指向哪里,a[4][2]指向哪里)图解第二个:(是在**++cpp的基础上操作的,此时cpp已经改变了)整个表达式的结果是最后一个表达式的结果。结果分别是 4和2 00 00 00。逗号表达式,是用逗号隔开的多个表达式。

2022-09-26 18:25:49 406

原创 操作符详解

位操作符有:按位与 & 按(2进制)位与按位或 | 按(2进制)或按位异或 ^ 按(2进制)异或注:它们的操作数必须是整数。

2022-09-23 20:04:23 80

原创 爬,指针进阶

把void(*)()放在括号里是要强制类型转换,把0强制类型转换为void(*)() ,也就把0强制类型转换为一个函数指针,表达式整体的结果就是函数的地址,在0地址处放一个没有参数的函数,返回类型为void。内存是一块大的空间,通过管理内存单元来管理内存,一个内存单元是一个字节(byte),一个字节给一个编号,这个编号也可以称作地址,地址也被称作指针。口头语说的指针是指指针变量,指针变量就是一个变量而已,就是一块内存空间,这个内存空间用来存放地址,指针变量的大小是4或8个字节(取决于操作平台)

2022-09-23 20:02:00 352

原创 数据库的简单知识

要求主键列的数据唯一,并且不允许为空,主键能够唯一的标识表中的每一条记录,可以结合外键来定义与不同数据表之间的关系。我们知道数据库中的表可以存放很多数据,如果把表中的每一个数据比作一个人的话,那么。随着存储的数据越来越多,数据库新人可能会发现,哎呀,当初预留的数据类型已经不能满足要求了,或者当初预留的字符太少了,怎么办?数据库中的数据是存放在一张一张的。因为甲方的业务需求是不停变化的,所以在数据库操作中,添加字段可是常有的事。总之,想要添加新的字段,记住绿色框里的语法规则就能记住三种位置的添加方式。

2022-09-15 15:40:43 767

原创 啊,爬到数组

二维数组的数组名代表二维数组的首元素地址,这时应该把二维数组理解为一维数组,那么二维数组的数组名就是第一行首元素的地址,第一行首元素的地址,就代表了第一行元素的地址(这个说法更容易理解,实际二维数组在内存中是连续存放的)会跳过16个字节,因为二维数组名代表首元素地址,把二维数组理解为一维数组,这里的首元素就指第一行首元素的地址,加1后就会跳到第二行首元素的地址。数组的下标是有限制的,数组的下标规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是n-1,要注意数组越界不一定会报错。

2022-08-22 03:14:02 83

原创 啊初阶指针

允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针进行比较,,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较。指针初始化,小心指针越界,指针指向空间释放及时置NULL,避免返回局部变量的地址,指针使用前检查其有效性。野指针:野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明显限制的)存放相应类型的变量需要相应类型的指针变量,但是不同指针类型的大小都是4字节。2.平常口语所说的指针指的是指针变量,指针变量是用来存放内存地址的变量。

2022-08-21 10:17:36 248

原创 实用调试技巧

ctrl+I 递增搜索,与ctrl+F不同的是搜索期间不显示搜索对话框,且ctrl+F搜索下一个直接按Enter即可,而ctrl+I搜索下一个按ctrl+I或F3,Escape退出,连续按两次ctrl+I重复上次搜索。ctrl±(shift+ctrl±) 移动光标到上次位置或相反,比如定位一个函数,转到函数定义后想回到函数使用处,则用ctrl±,若又想回到函数定义处则可以按shift+ctrl±。Ctrl+Shift+F 旧式的文件搜索对话框(与记事本中的搜索替换框差不多,可以替换)

2022-08-20 18:17:53 77 2

原创 分支语句和循环语句

getchar() 并不是直接从从键盘获取一个字符,而是通过输入缓冲区来获取字符的,每次只能获取一个字符,当我们键入一个字符a,按下回车,会在输入缓冲区生成a以及换行字符\n,接着a满足循环条件,输出a,继续判断,\n也满足循环条件,执行换行。这又和scanf的特性有关,当scanf读到空格时,scanf只会把空格前的内容拿走,留下其余部分,这时getchar()只会拿走空格,留下其余部分赋给ret,然后进入if判断,结果打印“重新输入”,我们发现清理字符时往往不是一个字符,而是一堆字符。

2022-04-13 23:47:41 586

原创 初识C语言

1. C语言简介C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目的是提供一种能以简易的方式编译,处理低级存储器,产生少量机器码的变易语言。底层开发:电脑是一个硬件,我在硬件上装了一个操作系统(Windows,Linux,Mac),用驱动层连接操作系统和硬件。计算机语言由低级向高级演变,开始使用二进制指令交流,然后用汇编指令(使用了助记符),B语言,最后发展到了C语言。在后来的发展中,C语言有了一套国际标准:ANSI 规定C的标准C89 C90(使用最多)..

2022-04-13 17:56:59 1521

空空如也

空空如也

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

TA关注的人

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