![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
C语言归纳总结
基本模型与排列组合
编程与搭积木异乎?
展开
-
Linux - cat
【代码】Linux - cat。原创 2022-09-09 07:53:17 · 362 阅读 · 1 评论 -
errno - number of last error
The header file defines the integer variable errno, which is set by system calls and some library functions in the event of an error to indicate what went wrong.原创 2022-09-07 11:39:07 · 307 阅读 · 0 评论 -
C11 新特性收集(待整理)
C语言新特性原创 2022-09-04 22:12:29 · 240 阅读 · 0 评论 -
带符号整数的除法与余数
带符号整数的除法与余数Division of Signed Integers 陈硕 giantchen_AT_gmail_DOT_com 最近研究整数到字符串的转换,读到了 Matthew Wilson 的《Efficient Integer to String Conversions》系列文章。(http://synesis.com.au/publications.html 搜。带符号整数的除法与余数_陈硕的博客-CSDN博客_有符号除法。原创 2022-09-03 14:02:01 · 215 阅读 · 0 评论 -
C实现面向对象的猜想
据说早期CFRONT把C++转换成C语言,再编译的原创 2022-09-02 05:50:27 · 87 阅读 · 0 评论 -
匿名数组和不规则数组
一些奇怪的东西,但是没有什么用处的东西原创 2022-08-31 19:31:09 · 193 阅读 · 0 评论 -
函数指针和多态
使用函数指针实现多态原创 2022-08-31 06:37:03 · 105 阅读 · 0 评论 -
函数的执行过程--栈帧
函数执行的流程原创 2022-08-31 00:12:54 · 121 阅读 · 0 评论 -
动态内存分配函数
动态内存分配函数原创 2022-08-30 19:07:38 · 101 阅读 · 0 评论 -
GDB用法
以下是gdb help中的解释Examine memory: x/FMT ADDRESS.ADDRESS is an expression for the memory address to examine.FMT is a repeat count followed by a format letter and a size letter.Format letters are o(octal), x(hex), d(decimal), u(unsigned decimal),t(binary)...原创 2022-08-28 21:01:50 · 140 阅读 · 0 评论 -
字符串总结
【代码】字符串总结。原创 2022-08-27 22:37:37 · 110 阅读 · 0 评论 -
C语言标准库
C语言标准库原创 2022-08-27 19:55:01 · 157 阅读 · 0 评论 -
任意进制转换的操作
进制之间相互转换原创 2022-08-27 04:34:29 · 132 阅读 · 0 评论 -
排序算法的总结
一些排序算法的收集原创 2022-08-26 22:29:44 · 113 阅读 · 0 评论 -
scanf函数探索
scanf总结原创 2022-08-26 17:28:33 · 91 阅读 · 0 评论 -
C语言 宏定义#define #ifdef #undef #endif 调试宏
#include <stdio.h>int main(){ printf("%s\n",__TIME__); printf("%d\n",__LINE__); printf("%s\n",__DATE__); printf("%s\n",__TIME__);}原创 2021-10-28 17:38:42 · 1318 阅读 · 0 评论 -
sizeof用法和原理实现
sizeof运算符的实现原理原创 2022-08-26 03:09:37 · 1758 阅读 · 0 评论 -
typeof关键字
typeof关键字的用法原创 2022-08-26 02:13:41 · 104 阅读 · 0 评论 -
位域,位操作
位域,一种构造能位操作的类型原创 2022-08-23 17:43:39 · 91 阅读 · 0 评论 -
字节对齐的原理和方法
字节对齐的原理和方法原创 2022-08-21 23:24:30 · 265 阅读 · 1 评论 -
调试宏,不是很懂,暂时记上
【代码】调试宏。原创 2022-08-21 23:19:06 · 101 阅读 · 0 评论 -
C99语法总结
C语言新语法的总结原创 2022-08-19 14:17:33 · 191 阅读 · 0 评论 -
程序的内存分配
内存分配原创 2022-06-23 22:14:31 · 207 阅读 · 0 评论 -
C语言 #define _INTSIZEOF(n)对齐的算法
如果数据总线是32根,那么每次只能取到4个字节的数据,可以使用该法方法,让地址总线每次都指向4的倍数的地址,原创 2022-08-16 19:23:08 · 340 阅读 · 0 评论 -
printf函数的格式化字符串
#include <stdio.h>int main(void){ double i = 3.123456789; printf("%.13lf\n", i); int j = 123; printf("%d;%8d;%-8d;%+8d;%#X;%#o \n", j, j, j, j, j, j); /* printf()的输出格式 十进制输出%d 十六进制输出%x,%X 浮点数输出%f ASCII字符输出%c 字符串输出%s 无符号数字%u 指针地.原创 2021-09-19 21:15:02 · 519 阅读 · 0 评论 -
C语言 可变长参数表
#include<stdio.h>#include<stdarg.h>int max(int cnt, ...){ va_list v;//kebiancheng canshubiao,va_list is a type va_start(v,cnt);//use v to reserve the remain argument after the cnt int data; int maxvalue =va_arg(v,int);//get argument int.原创 2021-10-28 05:34:55 · 232 阅读 · 0 评论 -
C 零长度数组
零长度数组原创 2022-07-21 21:30:19 · 56 阅读 · 0 评论 -
8.C语言 makefile参数
GNU Makemake是负责从项目的源代码中生成最终可执行文件和其他非源代码文件的工具。 make命令本身可带有四种参数:标志、宏定义、描述文件名和目标文件名。其标准形式为:make [flags] [macro definitions] [targets]Unix系统下标志位flags选项及其含义为:-f file 指定file文件为描述文件,如果 file参数为 '-' 符,那么描述文件指向标准输入。如果没有 '-f' 参数,则系统将默认当前目录下名为makefile或者名为Makefi原创 2022-01-03 18:40:13 · 697 阅读 · 0 评论 -
8.C语言 makefile总结
make命令执行时需要读取Makefile文件中的规则规则格式#每条规则的语法格式目标:依赖(依赖可以没有)target1,target2...:depend1,depend2.. 命令 commandmake默认只会执行第一条规则,检查第一条规则中依赖文件是否都存在,如果不存在,他就去读其他规则,直到找到目标文件是该依赖文件的规则,如此反复就构建完成了.如果只想执行其中某条规则,可以用make 目标名,还有一些潜规则1.make发现所有的依赖都存在,目标不存在,那原创 2021-12-02 01:47:07 · 266 阅读 · 0 评论 -
8.C语言 动态库的制作
动态链接库有执行权限,静态库没有执行权限生成动态链接库是直接使用 gcc 命令并且需要添加 -fPIC(-fpic) 以及 -shared 参数。-fPIC或-FPIC 参数的作用,使得gcc生成的代码与位置无关,也就是使用相对位置-share参数的作用,是告诉编译器生成一个动态链接库现在演示一下一个加法函数add.cint add(int x, int y){ return x + y;}一个头文件add.h#ifndef Add_H...原创 2021-12-01 03:45:23 · 703 阅读 · 0 评论 -
7.C语言 静态库的制作
有的时候我们不想给对方源码,我们可以给对方静态库文件(.o文件)+头文件即可,静态库一般就是实现某个功能的文件现在演示一下一个加法函数add.cint add(int x, int y){ return x + y;}一个头文件add.h#ifndef Add_H#define Add_Hint add(int , int );#endif // !Add_H生成add.o文件gcc -c add.c生成libadd.a静态库ar rcs li...原创 2021-12-01 03:00:16 · 451 阅读 · 0 评论 -
6.C语言 gcc 与 g++
后缀为 .c 的,gcc 把它当作是 C 程序,而 g++ 当作是 C++ 程序后缀为.cpp 的,两者都会认为是 C++ 程序,C++ 的语法规则更加严谨一些g++ 会调用 gcc,对于 C++ 代码,两者是等价的,也就是说 gcc 和 g++ 都可以编译 C/C++ 代码在链接阶段gcc 和 g++ 都可以自动链接到标准 C 库g++ 可以自动链接到标准 C++ 库,gcc 如果要链接到标准 C++ 库需要加参数 -lstdc++关于 __cplusplus 宏的定义g++ 会自动定义原创 2021-12-01 01:51:35 · 162 阅读 · 0 评论 -
5.C语言 GCC总结
在使用gcc编译程序时,编译过程可以细分为4个阶段:1.预处理(Pre-Processing)2.编译(Compiling)3.汇编(Assembling)4.链接(Linking)gcc -v -o main main.c-v:vebose1.预处理(Pre-Processing)gcc -E main.c -o main.i命令/usr/bin/x86_64-linux-gnu-cpp-9 main.c -o main.i详细过程[root@Orz 23:.原创 2021-12-01 01:10:08 · 1449 阅读 · 0 评论 -
4.C语言 static const volatile总结
关键字static作用是什么?1.修饰局部变量默认局部变量在栈空间存在,生存期比较短局部静态化,局部变量在静态数据段保存,生存期非常长2.修饰全局变量防止重命名,限制变量名只在本文件内起作用3.修饰全局函数防止重命名,函数只在本文件内起作用关键字const有什么含义const只读,属于建议性,注意不等于常量const int a = 100;关键字volatile有什么含义?防止C语言编译器优化,修饰的变量,该变量的修改可能通过第三方来修改...原创 2021-11-30 17:24:54 · 278 阅读 · 0 评论 -
3.C语言 函数返回不会消失的类型
第一种 常量型数据,常量型数据储存在静态空间,整个程序结束时释放该方式实用意义不大,因为常量定义的时候就要初始化#include<stdio.h>const char* str(void){ const char* p = "hello world"; return p;}int main(){ printf("%s", str()); return 0;}#include<stdio.h>const char str(void){ const原创 2021-11-30 15:41:42 · 450 阅读 · 0 评论 -
2.C语言 函数指针,函数指针数组,地址强转
获取ptintf函数的地址,给另外一个函数指正,实现printf的功能#include<stdio.h>int main(){ printf("%p\n", printf); //int (*pf)(const char*, ...) = printf; int (*pf)(const char*, ...) = (int (*)(const char*, ...))0x00007FF68ECD134D; printf("%p\n", pf); pf("hello worl原创 2021-11-30 02:11:55 · 156 阅读 · 0 评论 -
1.C语言 内存分布局图
0xff----------------------------------内核空间: 应用程序不允许访问----------------------------------3G运行时函数内部使用的变量,函数一旦返回,就释放,生存周期函数内栈空间:局部变量----------------------------------运行时可以自由分配和释放的空间,生存周期由程序员决定堆空间:malloc----------------------------------静态空间,整个程序结束时释放原创 2021-11-30 01:28:56 · 380 阅读 · 0 评论