![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 85
Magic--Y
这个作者很懒,什么都没留下…
展开
-
C进阶—文件操作
文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件,是将信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使用,这里处理的就是磁盘上文件。,每当打开一个文件的时候,系统会根据文件的情况自动创建一个FILE结构的变量,并填充其中的信息,一般通过一个FILE的指针来维护这个FILE结构的变量。每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等),这些信息是保存在一个。原创 2024-07-26 17:02:20 · 902 阅读 · 0 评论 -
C进阶—动态内存管理
realloc函数就可以做到对动态开辟内存大小的调整,size的大小是总的大小,比如已经用malloc开辟了40个字节的空间,size=60,就是开辟40+20个字节的空间。当是情况2 的时候,原有空间之后没有足够多的空间时,扩展的方法是:在堆空间上另找一个合适大小的连续空间来使用。当是情况1 的时候,要扩展内存就直接原有内存之后直接追加空间,原来空间的数据不发生变化。2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。该函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。原创 2024-07-24 13:31:44 · 765 阅读 · 0 评论 -
C进阶—自定义类型
int x;float y;}p1;//声明结构体的同时定义变量int x;float y;//声明结构体的同时定义变量并初始化int data;原创 2024-07-21 22:00:45 · 605 阅读 · 0 评论 -
C进阶—字符串函数和内存函数
解析:3个指针,1个记录比较的起始位置,两外两个进行比较。原创 2024-07-20 18:19:25 · 1010 阅读 · 0 评论 -
C语言-初探指针
/使用&操作符,取出a的第一个内存单元地址,存放在指针变量pa中,pa的类型是int*0减C,向高位借1,因为是16进制,所以就是16+0=16,16-12©=0x04,就是10进制的4。如果是int*的指针,解引用访问4个字节,如果是char*的指针,解引用访问1个字节。概念:野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)对ppa解引用*ppa得到的是pa的值,再解引用**ppa得到的是a的值。2.&数组名,取出的是数组的地址,&数组名,数组名表示整个数组。原创 2024-07-04 10:30:27 · 760 阅读 · 0 评论 -
C初阶-结构体
函数传参的时候,参数是需要压栈的。如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的下降。结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。p1和p2是使用struct Peo结构体类型创建的2个变量。通过点(.)和箭头(->)访问。而数组是同一种元素的集合。原创 2024-07-04 16:22:28 · 136 阅读 · 0 评论 -
C语言-操作符
解析:从左向右计算,a++这个表达式是先使用后++,所以是0与上后面的,0与上任何数都是0,所以后面的不会执行,因此a的值是1,b和c的值不变,如果令a=1,则打印的结果是2, 3, 4,1。解析:从左向右计算,a++这个表达式是先使用后++,所以是1或上后面的,1或上任何数都是1,所以后面的不会执行,因此a的值是2,b和c的值不变,如果令a=0,则打印的结果是1, 3, 3,1。表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度。逗号表达式,从左向右依次执行。原创 2024-07-02 08:52:22 · 1007 阅读 · 1 评论 -
c语言-static
static作用原创 2024-03-31 10:24:26 · 228 阅读 · 1 评论 -
C语言进阶—数据的存储
基本类型整型在内存中的存储整型在内存中以补码的形式进行存储大端存储模式:数据的低位保存在内存的高地址中,数据的高位保存在内存的低地址中小端存储模式:数据的低位保存在内存的低地址中,数据的高位保存在内存的高地址中在vs2019中采用的是小端存储模式,而keil c51则为大端存储模式#include <stdio.h>int main()//判读程序的大小端{ int i = 1; char* p = (char*)&i; if (*p == 1) {原创 2022-07-23 20:24:44 · 322 阅读 · 0 评论 -
每日亿题—整型在内存中存储相关习题
整型在内存中存储相关题原创 2022-07-23 20:22:36 · 59 阅读 · 0 评论 -
C进阶—程序环境和预处理
123原创 2022-07-19 13:54:16 · 219 阅读 · 0 评论 -
C语言——文件操作
文件文件磁盘上的文件是文件,文件一般分为两种:程序文件、数据文件程序文件包括源程序文件(后缀.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)数据文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件或者输出文件的内容一个文件有一个唯一的文件标识,文件名包含3个部分:文件路径+文件名主干+文件后缀,例如:c:\program\text.txt文件的打开和关闭文件指针每个被使用的文件都在内存中开辟了一个相应的文原创 2022-07-18 23:27:43 · 413 阅读 · 0 评论 -
C语言——strlen、strcpy、strcat、strcmp、strstr、memcpy、memmove函数的使用和模拟以及字符分类函数
strlen首先我们先看c语言库函数实现strlen求字符串长度:从以上图片中我们可以看出strlen是求字符串的长度,求的长度是\0之前的字符串,返回值的类型是无符号整型#include <stdio.h>#include <string.h>int main(){ char arr[] = "abcdef"; int len = strlen(arr); printf("%d\n", len);//6 return 0;}现在我们模拟实现这个代码#i原创 2022-07-13 21:31:22 · 477 阅读 · 0 评论 -
C语言--三子棋
主函数#include "game.h"void menu(){ printf("*************************\n"); printf("*****1.play 0.Exit*****\n"); printf("*************************\n");}void game(){ char ret = 0; char board[ROW][COL] = { 0 }; Initboard(board, ROW, COL); Displa原创 2022-05-01 14:52:44 · 63 阅读 · 0 评论 -
C语言——动态内存管理(malloc、calloc、realloc、free、柔性数组)
已有的开辟内存的方式 int a=10;//在栈区开辟4个字节的空间 char arr[5]={0};//在栈空间开辟5个字节的空间以上开辟内存的特点开辟的空间大小是固定的数组在声明的时候,必须指定数组的长度,它所需要的内存在编译时分配但是我们对空间的需求仅仅上述情况无法满足,因此需要动态内存分配malloc–free函数两个函数的声明都在stdlib.h的头文件中void *malloc( size_t size );size:Bytes to allocate(要原创 2022-02-14 16:57:08 · 1168 阅读 · 0 评论 -
C语言——自定义类型(结构体、枚举、联合)
自定义类型结构体的声明结构体的特殊声明结构体变量的定义和初始化结构体内存结构体的对齐规则同样的代码来交换下位置,所占内存数不同来看嵌套结构体的情况存在内对齐的原因我们也可以自己修改对齐数位段@[toc]位段的声明与结构体类似,但也有不同位段的跨平台问题跟结构相比,位段可以达到同样的效果,但是可以很好的节省空间,但是有跨平台的问题存在枚举类型就是一种类型枚举类型的定义使用枚举的优点联合也是一种特殊的自定义类型,这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所原创 2022-02-12 11:17:38 · 250 阅读 · 0 评论 -
C语言之对 0, ‘0‘ , \0 以及 “0“ 的理解
刚开始学习c语言时对这块不是很了解,非常困惑,后来随着学习的深入,终于明白了其中的不同,希望以下文章能对你有所帮助。0是个整型字符,类似于1,2,3这样的整型。单引号括起来的是字符常量,只能有一个字符,而双引号括起来的是字符串常量,可以有多个字符。所以’0’是字符常量,c语言用ASCII码来进行存储,一个字符占用一个字节,他们也可以在程序中进行运算,在ASCII码表中的转义字符**\0**对应的十进制的数字就是0...原创 2022-02-10 21:57:14 · 13024 阅读 · 0 评论 -
C语言基础入门学习--学习笔记
C语言标准1983年美国国家标准局(ANSI),开始制定C语言标准的工作1989年该标准正式公布,一般称为ANSI C(C89或C90)1999年ANSI/ISO联合委员会进行修改,增加了一些功能,称为C992011年又增加了新的标准称为C11C语言现状学好C语言,走遍天下都不怕编程语言排名工具所有程序均基于vs2019平台第一个C程序c程序都是由若干个头文件和函数组成#include <stdio.h>int main(){ printf("Hello原创 2022-02-10 18:58:20 · 2712 阅读 · 1 评论