@十三阿哥
山外青山楼外楼,一山更比一山高。
展开
-
c-API在线手册
cpluspluscppreferencelibc原创 2023-07-28 09:51:57 · 281 阅读 · 0 评论 -
关于goto的一点说明
【代码】关于goto的一点说明。原创 2024-04-07 22:10:53 · 193 阅读 · 0 评论 -
linux进程间通信-信号量
Linux c/c++之IPC进程间通信Linux - 进程间通信之信号量原创 2024-03-10 21:41:26 · 196 阅读 · 0 评论 -
linux进程间通信-消息队列
Linux下使用C语言实现进程间的通讯-消息队列Linux进程间通信-消息队列(IPC、mq)C/C++代码接口Linux 进程间的通信(三)—消息队列原创 2024-03-10 19:38:31 · 212 阅读 · 0 评论 -
linux进程间通信-共享内存
在Linux系统中,共享内存是一种IPC(进程间通信)方式,它可以让多个进程在物理内存中共享一段内存区域。这种共享内存区域被映射到多个进程的虚拟地址空间中,使得多个进程可以直接访问同一段物理内存区域中的数据,从而实现进程间的高速数据交换和通信。共享内存基于内核的支持。在共享内存中,内核维护了一块物理内存区域,并将其映射到多个进程的虚拟地址空间中。每个进程都可以使用指针来访问共享内存区域中的数据,就像它们访问自己的内存一样。Linux进程通信 | 共享内存进程间通信–共享内存详解【Linux】Linux原创 2024-03-10 18:25:48 · 268 阅读 · 0 评论 -
linux进程间通信的几种方式
一文搞懂六大进程通信机制原理(全网最详细)原创 2024-03-10 18:00:16 · 172 阅读 · 0 评论 -
linux进程间通信-管道通信
【Linux】进程间通信——管道Linux系统编程——管道通信【linux】进程间通信——管道通信Linux进程间通信(管道)原创 2024-03-10 17:58:54 · 248 阅读 · 0 评论 -
linux多进程-守护进程的创建和使用
linux下守护进程的创建和使用原创 2024-01-02 20:06:03 · 419 阅读 · 0 评论 -
linux多进程-exec家族进程
linux下exec家族进程的介绍与使用原创 2024-01-02 20:05:07 · 432 阅读 · 0 评论 -
linux多进程-fork和vfork
【代码】linux多进程-fork和vfork。原创 2024-01-02 19:47:51 · 392 阅读 · 0 评论 -
c语言中的内部函数和外部函数
【代码】c语言中的内部函数和外部函数。原创 2023-11-26 00:57:00 · 151 阅读 · 0 评论 -
c语言中extern关键字的使用
【代码】c语言中extern关键字的使用。原创 2023-11-26 00:40:50 · 106 阅读 · 0 评论 -
linux下基于c的多进程的开发
Linux多进程开发原创 2023-08-16 10:47:50 · 94 阅读 · 0 评论 -
linux下c语言中pthread多线程库的使用
http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.htmlhttps://hpc-tutorials.llnl.gov/posix/所有接口API列表原创 2023-08-15 23:14:32 · 430 阅读 · 0 评论 -
指针数组再认识
【代码】指针数组再认识。原创 2023-08-07 16:12:01 · 80 阅读 · 0 评论 -
测试libcurl库的demo时,报错 curl_easy_perform() failed: SSL connect error
【代码】测试libcurl库的demo时,报错 curl_easy_perform() failed: SSL connect error。原创 2023-07-31 17:43:39 · 1004 阅读 · 0 评论 -
基于c语言的日志库Easylogging++的使用
【代码】基于c语言的日志库Easylogging++的使用。原创 2023-04-27 16:44:10 · 365 阅读 · 0 评论 -
轻量级json库之cJSON库的使用
【代码】轻量级json库之cJSON库的使用。原创 2023-04-26 18:41:55 · 163 阅读 · 0 评论 -
基于C语言的base64第三方库
【代码】基于C语言的base64第三方库。原创 2023-04-13 23:18:32 · 686 阅读 · 0 评论 -
linux下调用fwrite()无法将数据全部写入文件中
linux下调用fwrite()无法将数据全部写入文件中的解决方案。原创 2023-02-13 17:27:38 · 1407 阅读 · 0 评论 -
c语言内存指向跳跃
C语言内存指向跳跃原创 2022-12-28 14:16:24 · 174 阅读 · 0 评论 -
结构体内存对齐
C语言结构体内存对齐原创 2022-12-09 10:31:43 · 128 阅读 · 0 评论 -
#pragma pack(n)内存对齐
#pragma pack(n)内存对齐原创 2022-12-09 10:13:53 · 799 阅读 · 0 评论 -
C语言结构体初始化的几种方式
C语言结构体初始化的几种方式原创 2022-12-09 09:32:49 · 647 阅读 · 0 评论 -
C语言之动态一/二/三维数组的申请与释放
注意:(0) 讲解C语言中的动态数组的申请以及释放(一维/二维/三维);(1)需要你对C语言中的至少是一维数组非常熟悉, 不流于表面,否则可能稍有难度;(2)打印使用了C++中的std::cout语法, 主要是方便; (读者不要纠结);(3)每种申请都配合了一张图解, 便于理解, 应该可以看懂;(4)注意一点: C语言的中指针变量类型占用4个字节;1. 动态一维数组的申请与释放void test0(){ int array[6] = { 1, 2, 6, 7, 10, 12 }; //原创 2022-03-01 18:21:56 · 2281 阅读 · 1 评论 -
C语言中的万能指针void*
废话不说: void* 类型的指针变量可以接受任何变量的地址。但是特别需要注意的是:它仅仅是拥有变量的地址而已, 不能对它进行解引用, 否则错误。。。1. 先看一个简单的例子void Test(){ int num = 88; void* pVoid = # std::cout << *pVoid << std::endl; // Error std::cout << *(int*)(pVoid) << std原创 2022-03-01 17:28:18 · 1584 阅读 · 0 评论 -
C语言中的多级指针
前言:C语言中指针的操作非常灵活,指针与数组的结合更是令初学者晕头转向,一级指针倒还可以,二级及其以上,也即是所谓的多级指针,就使得大部分初学者更混淆了,今天趁着美好时光,以图文并茂的形式形象的解释一下二级及其以上的指针的用法!1.首先看一级指针:#include <iostream>using namespace std;int main() { int a = 1; int* pA = &a; //pA是一级指针,指向变量a所在的内存 return 0;}抽原创 2021-07-21 14:45:21 · 2347 阅读 · 0 评论 -
逗号表达式
案例一:#include "stdio.h"void main(){ int x,y,z; x=1,y=1; z=x++,y++,++y; //逗号表达式 printf("%d,%d,%d\n",x,y,z);}你觉得这个z值是多少呢?分析:这个x++, y++, ++y 这是个逗号表达式,运算顺序自左至右,那有人要说了,简单,z = 2,那我可要告诉你:错误;为啥错了?因为本例中z=x++含有赋值运算符,其优先级高于逗号逗号运算符,也即相当于这样 (z=x++),y++,++y原创 2021-07-21 13:28:13 · 7683 阅读 · 4 评论 -
函数指针与指针函数
对于初学者来说函数指针与指针函数,数组指针与指针数组,这两对概念往往容易发生混淆,本篇只讲解函数指针与指针函数,后续讲解数组指针与指针数组!1. 首先明确的进行区分:**函数指针** -> 它就是一个指针,和int*,char*指针类似,只不过它是指向函数的这样的一个指针;**指针函数** -> 它就是一个函数, 和普通函数没啥区别,只不过是返回一个指针而已!**快速区分:**只看后半段即可,函数[指针] -> 它是指针; 指针[函数] -> 它是函数!2.原创 2021-07-21 11:50:27 · 171 阅读 · 0 评论 -
防止头文件重复包含
之前我已视频的形式上传到了B站;链接在此:视频链接:部分截图:原创 2021-07-21 10:29:55 · 128 阅读 · 0 评论 -
函数的递归调用
函数的递归调用对于初学者来说比较难以理解,但是这个递归也算是相对重要,特别是后续数据结构中的二叉树中要大用特用递归,使用递归非常的清晰,但是这个东西就执行起来就是类似于一种“层层套”的感觉,这个层次少点,还是比较好理解的,但是层次多了,理解就费劲了。截止目前的工作来看,在工作当中几乎没有用到递归,就那么1-3次左右。但是尽管如此,学习递归仍然是必须的!本次就拿一个简单的例子讲解一下递归,关于递归的优缺点不再赘述,自行百度即可!#include "stdio.h"int age(int n)原创 2021-07-21 10:24:48 · 186 阅读 · 0 评论 -
C语言赋值过程中的类型转换
如果赋值运算符两侧的类型不一致,但都是算术类型的,在赋值时要进行类型转换。类型转换是由系统自动进行的,转换规则如下:(1)将浮点型数据赋给整型变量时,先对浮点数取整,也即舍弃小数部分,然后赋予整型变量。【例如】int i;则执行i = 3.56的结果是使i的值为3,以整数形式存储在整型变量中!(2)将整型数据赋给浮点型变量时,数值不变,但以浮点数形式存储到变量中。【例如】float f;则执行f = 23;先将整数23转换成实数23.0, 在按指数形式存储在变量f中。double d;则原创 2021-07-20 19:19:31 · 6362 阅读 · 0 评论 -
通过指针引用多维数组
1.定义一个二维数组,int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};a是二维数组名。a数组包含3行,即3个行元素:a[0],a[1],a[2]。而每一个行元素又是一个一维数组,它又包含4个元素。例如:a[0]所代表的一维数组又包含4个元素:a[0][0]、a[0][1]、a[0][2]、a[0][3]。如下所示:a[0] => { 1, 3, 5, 7 }a[1] => { 9, 11, 13, 15 }a[2] =>原创 2021-07-20 19:17:05 · 436 阅读 · 0 评论 -
C语言中使用字符指针变量和字符数组的比较
前言:以下话语都是经过自己着重审核的,以最大效力确保没有错别字,以及其他细节的问题,确保不引起读者混乱!读者可以放心的阅读!使用字符指针变量和字符数组的比较(1)字符数组有若干个元素组成,每个元素中放一个字符,而字符指针变量中存放的是地址(字符串第1个字符的地址),绝不是将字符串放到字符指针变量中。(2)赋值方式:可以对字符指针变量进行赋值,但不能对数组名进行赋值。 Char *a; //a为字符指针变量 a=”I love china!” //将字符串首元素地址赋给指针变量,但赋给a的不原创 2021-07-20 19:08:42 · 1672 阅读 · 4 评论 -
C语言中二维数组的理解
一直以来,对于初学者来说,一维数组和二维数组加合指针是比较难以理解的,我也发现,今天我就如何理解二维数组来个简单的说明吧!首先,你应该非常清楚一维数组了;达到了第一点,二维数组唾手可得,实际上二维数组就是特殊的一维数组;int array[5] = { 1, 2, 3, 4, 5 };int Array[3][4] = { { 1, 3, 5, 7 }, { 2, 4, 6, 8 }, { 10, 11, 12, 13 }};我为什么这样写?实际上你已经明白我的用意了;二维数组里原创 2021-07-20 18:51:52 · 620 阅读 · 0 评论 -
一、二维数组中的a,a+1,&a,&a+1解析
一维数组:int a[3] = { 1,2,4 }; printf("a(数组首地址)=%d\n", a); printf("a+1(第2个元素地址)=%d\n\n", a + 1); printf("&a(整个数组的地址)=%d\n", &a); printf("&a+1(跨越了整个数组,指向最后一个元素的下一地址)=%d\n", &a + 1); printf("\n&a[2](最后一个元素)=%d\n", &a[2]);//注意:在.原创 2021-07-20 17:31:30 · 5165 阅读 · 2 评论 -
C语言之三维数组
前言:之前学习C语言的时候仅仅是掌握了二维数组,但是并没有对三维数组进行研究,今天的代码提前搞完了,摸摸鱼,对去年研究的三维数组的相关知识发布一下,期待能够帮助到有缘人!实际上,当你阅读此篇文章时,我假设你已经对C语言的二维数组非常熟悉了,并且非常熟悉数组与指针之间的关系,如果没有达到此要求,那直接翻篇,不要看,等待基础掌握扎实后再来学习此篇文章!一,看图说话,一眼看三维数组二,首先看下三维数组的遍历#include "stdio.h"void main(){ //三维数组 .原创 2021-07-20 17:24:22 · 51655 阅读 · 13 评论 -
C语言之传值、传址详解
C语言传值、传址详解原创 2020-06-15 21:42:35 · 2081 阅读 · 1 评论