
C语言
C语言
爱上小公举
希望明天的我
仍然对不同充满宽容
继续对未知饱含敬畏
展开
-
C/C++ const修饰指针变量的三种情况
在C/C++中, const修饰指针变量, 有三种情况, 以 int* 为例, 三是以下种情况原则: const修饰谁, 谁就不能被修改, 否则编译出错第一种和第二种: constint* p; 和 int const * p;这两种情况是相同的, 这两种情况变量p的类型是const int* 型, 此时const修饰的就是p所指向的内容, 也就是说p解引用之后的值不能被...原创 2019-11-14 00:40:37 · 611 阅读 · 1 评论 -
自定义类型: 结构体 ,枚举, 共用(联合)体
自定义类型: 结构体 ,枚举, 共用(联合)体目录一. 结构体 结构体的声明 特殊的声明 结构体的自引用 结构体变量的定义和初始化 结构体传参 结构体内存对齐 修改默认对齐数 位段二. 枚举枚举的优点枚举的定义枚举的使用三 .联合(共用)体共用(联合)体的声明共用(联合)的定义共用(联合)的特点共同(...原创 2019-06-24 02:33:11 · 1023 阅读 · 4 评论 -
C语言中static和extern
static关键字与extern关键字C中的关键字extern是用来做变量声明的,声明extern关键字的全局变量和全局函数可以使得它们的作用域得到扩展, 全局变量和全局函数默认是extern所以声明时我们一般不写C中的关键字static主要用于修饰普通变量和函数(C++中则主要修饰类的成员变量和函数)不管在C还是C++中static静态变量都存储在静态区(全局区)exter...原创 2019-09-10 22:32:45 · 2844 阅读 · 3 评论 -
宏定义#define的一些总结
类对象宏(无参宏)类函数宏(带参数的宏)#的作用##的作用类函数宏(带参数的宏)和函数的对比#undef防止头文件被重复包含或引用原创 2019-06-19 15:02:55 · 11440 阅读 · 4 评论 -
文件结束判定与feof函数
文件结束判定与feof函数目录 文件结束判定: 方法1 :fget()函数返回EOF 方法2 :fgets()返回NULL 方法3 :利用文件长度 方法4 : 二进制文件利用fread()返回值 ...原创 2019-06-18 17:14:29 · 5712 阅读 · 0 评论 -
C语言文件操作
C文件操作目录1.什么是文件2.文件名3.文件类型4.文件缓冲区5.文件指针6.文件的打开与关闭7.文件的顺序读写8.文件的随机读写9.文件结束判定与feof函数1.什么是文件计算机文件是存储在某种长期储存设备上的一段数据流。所谓“长期储存设备”一般指磁盘, 光盘, 磁带等。其特点是所存信息可以长期、多次使用,不会因为断电而消失。在我们的计算机上, 磁盘上的数据是文件...原创 2019-06-17 23:13:17 · 367 阅读 · 0 评论 -
C/C++中的内存区域
C/C++中的内存区域目录1.代码段(常量区)2.数据段(静态区)3.栈区4.堆区5.小结(堆与栈的区别)C/C++程序内存区域划分图:1.代码段(常量区)存放常量和程序代码(二进制代码)的区域2.数据段(静态区)存放全局变量和静态数据, 程序结束时由系统释放(用static修饰的变量会存入静态区, 会改变其生命周期,程序结束时由系统释放)3....原创 2019-06-03 21:48:02 · 720 阅读 · 0 评论 -
C语言动态内存分配函数
目录1.malloc()2.free()3.calloc()4.realloc()5.小结在C中我们开辟内存空间有两种方式 :1.静态开辟内存 : 例如:int a;int b[10];这种开辟内存空间的特点是所开辟的内存是在栈中开辟的固定大小的 ,如a是4字节 ,数组b是40字节 ,并且数组在申明时必须指定其长度 , 因为数组的内存是在编译时分配好的 . 如果我们想在...原创 2019-06-02 23:46:57 · 47252 阅读 · 20 评论 -
C语言中从键盘输入字符串时的一些问题
C语言中从键盘输入字符串时的一些问题1.scanf()scanf()在输入字符串时有很大的弊端, 例如:1). scanf()在从键盘读入字符时并不会根据所定义的字符数组的大小来控制读入多少个 , 而是从scanf( ) 中传入的地址开始一直访问下一个元素的内存 , 碰见空格符或者回车符时才停止读入并存入结束符’\0’ , 这就有可能造成了一个在C中非常严重的问题 , 访问非法内存 . 如果...原创 2019-05-17 20:52:10 · 43741 阅读 · 5 评论 -
对C语言数组中数组名和指针的一些理解
1).二维数组中&a , a , a[0] , &a[0] , &a[0][0]2).数组指针与指针数组原创 2019-05-22 00:16:56 · 1131 阅读 · 0 评论 -
对C中函数指针与指针函数的一些理解
1).函数指针2).指针函数原创 2019-05-22 10:59:13 · 251 阅读 · 0 评论 -
对C中转移表(函数指针数组)和 指向函数指针数组的指针(函数指针数组指针)的一些理解
1.转移表(函数指针数组)2.指向函数指针数组的指针(函数指针数组指针)原创 2019-05-22 13:05:34 · 322 阅读 · 0 评论 -
对C中回调函数的一些理解(实现泛型排序函数)
对C中回调函数的一些理解(实现泛型排序函数)回调函数 :回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。说到回调函数 , 就不得不提qsort()这个库函数 ,...原创 2019-05-22 23:53:21 · 260 阅读 · 0 评论 -
对大端小端的一些理解
对C语言中大端小端的一些理解首先我们俩看一下什么是所谓的大端小端 :计算机中所说的大端小端是指字节顺序模式 , 由于计算机中的数据以01构成的字节存储 , 所以会有大小端的问题 .小端字节顺序的数据存储模式是按地址增大的方向存储的,即低位在前高位在后 ;端字节顺序的数据存储方向恰恰是相反的,即高位在前,低位在后。文字叙述太抽象我们来看图示 :以十进制数 1 在计算机中存储...原创 2019-05-28 00:20:11 · 1584 阅读 · 0 评论