经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 C 语言

数组降维、函数栈帧、地址空间、可变参数原理剖析

目录数组和指针多维数组的物理结构证明数组a和&a不同数组与指针的差别之一什么时候数组名表示整个数组?数组训练理解指针与数组的题所有的数组,都可以看成一维数组.所有的数组传参,最终都会降维成一维数组函数函数的地址函数的规范内存管理malloc返回给用户的只有申请内存的起始地址,那free是...[2024/5/22]

开源相机管理库Aravis例程学习(二)——连续采集multiple-acquisition-main-thread

开源相机管理库Aravis例程学习(二)——连续采集multiple-acquisition-main-thread

目录简介例程代码函数说明arv_camera_set_acquisition_modearv_camera_create_streamarv_camera_get_payloadarv_buffer_newarv_stream_push_bufferarv_camera_start_acquis...[2024/4/15]

开源相机管理库Aravis例程学习(一)——单帧采集single-acquisition

目录简介源码函数说明arv_camera_newarv_camera_acquisitionarv_camera_get_model_namearv_buffer_get_image_widtharv_buffer_get_image_height 简介 本文针对官方例程中的第一个例程:si...[2024/4/10]

关于基环树的一切

关于基环树的一切

观前须知 笔者的博客主页 声明 本文使用 CC BY-NC-SA 4.0 许可。 本文为笔者在 OI 学习中的复习向学习笔记。 部分内容会比较简略。 如有好的习题会不断补充。 知识简介 定义 基环树是一个有 \(n\) 个点 \(n\) 条边的连通图。 因为树有 \(n\) 个点 \(...[2024/4/8]

【Learning eBPF-3】一个 eBPF 程序的深入剖析

从这一章开始,我们先放下 BCC 框架,来看仅通过 C 语言如何实现一个 eBPF。如此一来,你会更加理解 BCC 所做的底层工作。 在这一章中,我们会讨论一个 eBPF 程序被执行的完整流程,如下图所示。 一个 eBPF 程序实际上是一组 eBPF 字节码指令。因此你可以直接使用这种特定...[2024/4/8]

[apue] 进程控制那些事儿

进程标识 在介绍进程的创建、启动与终止之前,首先了解一下进程的唯一标识——进程 ID,它是一个非负整数,在系统范围内唯一,不过这种唯一是相对的,当一个进程消亡后,它的 ID 可能被重用。不过大多数 Unix 系统实现延迟重用算法,防止将新进程误认为是使用同一 ID 的某个已终止的进程,下面这个例...[2024/3/29]

解密C语言选择结构:掌握条件语句与分支逻辑的利器

?? 欢迎大家来到贝蒂大讲堂?? ????养成好习惯,先赞后看哦~???? 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 引言 C语?是结构化的程序设计语?,这?的结构指的是顺序结构、选择结构、循环结构。为什么有着三种结构呢,大家其实可以想象一下,生活中的绝大数事情...[2024/2/23]

精通C语言:打造高效便捷的通讯录管理系统

?? 欢迎大家来到贝蒂大讲堂?? ????养成好习惯,先赞后看哦~???? 所属专栏:C语言项目 贝蒂的主页:Betty‘s blog 引言: 在我们大致学习完C语言之后,我们就可以利用目前所学的知识去做一些有意思的项目,而今天贝蒂就带大家完成一个通讯录的简易实现, 本章你可...[2024/2/18]

使用C语言构建一个独立栈协程和共享栈协程的任务调度系统

使用了标准库头文件 <setjmp.h>中的 setjmp 和 longjmp两个函数,构建了一个简单的查询式协作多任务系统,支持独立栈和共享栈两种任务。 其中涉及到获取和设置栈的地址操作,因此还需要根据不同平台提供获取和设置栈的地址操作(一般是汇编语言,因为涉及到寄存器) 该调...[2024/2/7]

c语言实现内存池

概要 所谓内存池,顾名思义和线程池的设计原理是一样的,为了减少频繁申请释放内存而带来的资源消耗,减少释放内存后产生的内存碎片。 设计理念 为了方便管理内存池的设计通常是划分出一定数量的内存块,这些内存块的长度是一样的; 用户申请内存块时返回空闲的内存块地址,如果内存块使用完毕就释放该内存块,将...[2024/2/7]

[数据结构] 数组与特殊矩阵

写在前面 偷懒,先写了数组,列表要画图,所以今天就先不写了 数组的定义 数组是由n个相同类型的数据元素构成的有限序列。每个数据元素被称为一个数组元素,每个元素在n个线性关系中的序号称为该元素的下标,下标的取值范围称为数组的维界。 数组与线性表的关系:数组是线性表的推广。一维数组可视为一个线性...[2024/2/7]

探索C语言结构体:编程中的利器与艺术

探索C语言结构体:编程中的利器与艺术

?? 欢迎大家来到贝蒂大讲堂?? ????养成好习惯,先赞后看哦~???? 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. 常量与变量 1. 什么是结构体 在C语言中本身就自带了一些数据类型,如:char,int,float,double等数据类型都被称为内置类...[2024/2/7]

探索C语言的数据类型:解密编程世界的核心秘密

?? 欢迎大家来到贝蒂大讲堂?? ????养成好习惯,先赞后看哦~???? 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. 常量与变量 1.1 常量 (1) 常量的概念 常量顾名思义就是无法改变的量,比如一周有7天,一天有24小时,这些都是无法改变的量。 (2)...[2024/2/5]

揭秘C语言的心脏:深入探索指针与数组的奥秘

?? 欢迎大家来到贝蒂大讲堂?? ????养成好习惯,先赞后看哦~???? 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. strlen()和sizeof的区别 名称 区别 sizeof 1. sizeof是操作符 2. sizeof计算操作数...[2024/2/2]

初识C语言:掌握未来的编程利器

? ?? 欢迎大家来到贝蒂大讲堂?? ? ????养成好习惯,先赞后看哦~???? ? 所属专栏:C语言学习 ? 贝蒂的主页:Betty‘s blog 1. C语言是什么 在我们生活中,我们和父母、朋友、老师交流时候使用的就是语...[2024/1/26]

程序启停分析与进程常用API的使用

进程是程序运行的实例,操作系统为进程分配独立的资源,使之拥有独立的空间,互不干扰。 空间布局 拿c程序来说,其空间布局包括如下几个部分: 数据段(初始化的数据段):例如在函数外的声明,int a = 1 block started by symbol(未初始化的数据段):例如在函数外的声...[2024/1/26]

什么是革命性技术eBPF?为什么可观测性领域都得用它

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 如果有一种技术可以监控和采集任何应用信息,支持任何语言,并且应用完全无感知,零侵入,想想是不是很激动,那么这个技术是什么呢?就是eBPF,它应该是最近一两年非常热门的技术名词,我相信你或多或少都看到过,但可能不知...[2023/12/29]

C 语言教程:条件和 if...else 语句

C 语言教程:条件和 if...else 语句

C 语言中的条件和 if...else 语句 您已经学习过 C 语言支持数学中的常见逻辑条件: 小于:a < b 小于或等于:a <= b 大于:a > b 大于或等于:a >= b 等于:a == b 不等于:a != b 您可以使用这些条件来根据不同的决策执行不...[2023/12/26]

CatFly【汇编代码还原】

CatFly【难度:1】 题目界面 下载附件,发现是dll文件,放到linux中运行一下,运行界面如图所示: 从上图中可以看到两处字符串,上面的字符串不断滚动,下方字符串在次数上不断累加,猜测上方字符串与flag相关。 静态调试 打开IDA,找到main函数 方便分析,此处只粘...[2023/12/22]

一文带你掌握C语言的分支结构

C语言分支结构详解 1. if 语句 在本篇博客文章中,我们将深入探讨C语言中的if语句及其相关用法。if语句是一种用于条件判断的分支语句,它允许我们根据条件的真假来执行不同的代码块。 1.1 if 语句的基本语法和用法 if语句的基本语法如下所示: if (条件) { 条件为真...[2023/12/1]

musl中strlen源码实现和分析

最近在学习《C 和指针》的第 6 章指针部分,在 6.12 章节看到了 strlen 函数的实现,联想到最近有在看 musl 的源码,于是就把 musl 中 strlen 的源码认真地分析了一下,发现源码中有一些有意思的点,特地写这篇文章跟各位感兴趣的小伙伴分享一下。本文重点对 musl 的 s...[2023/11/13]

高精度加法(C语言实现)

高精度加法(C语言实现)

高精度加法(C语言实现) 介绍 众所周知,整数在C和C++中以int ,long,long long三种不同大小的数据存储,数据大小最大可达2^64,但是在实际使用中,我们仍不可避免的会遇到爆long long的超大数运算,这个时候,就需要我们使用高精度算法,来实现巨大数的运算。 高精度的...[2023/11/6]

记一次有趣的 buffer overflow detected 问题分析

PS:要转载请注明出处,本人版权所有。 PS: 这个只是基于《我自己》的理解, 如果和你的原则及想法相冲突,请谅解,勿喷。 环境说明 无 前言 在我开发的一个实验和学习库中,在很久以前全面启用了编译器的sanitize功能。 这次报错的程序,是我这个库中某个模块的单元测试模块。...[2023/10/23]

getc()、getchar()、getch() 和 getche() 的区别

getc()、getchar()、getch() 和 getche() 的区别

所有这些函数都从输入中读取一个字符并返回一个整数值。返回整数以容纳用于指示失败的特殊值。EOF值通常用于此目的。 getc() ????它从给定的输入流中读取单个字符,并在成功时返回相应的整数值(通常是读取字符的ASCII值)。失败时返回EOF。 ????语法: int getc(FILE ...[2023/10/16]

CUDA C编程权威指南:2.2-给核函数计时

本文主要通过例子介绍了如何给核函数计时的思路和实现。实现例子代码参考文献[7],只需要把相应章节对应的CMakeLists.txt文件拷贝到CMake项目根目录下面即可运行。 1.用CPU计时器计时(sumArraysOnGPU-timer.cu)[7] ??在主函数中用CPU计时器测试向量...[2023/10/9]

Programming abstractions in C阅读笔记:p132-p137

《Programming Abstractions In C》学习第53天,p132-p137,3.2小节“strings”总结如下: 一、技术总结 3.2小节介绍了字符串的用法: 1.C语言是没有字符串(string)这种数据类型的,但是实际的场景中又很需要这种数据类型,那怎么表示字符串呢...[2023/8/29]

NepCTF2023的wp

0x00 闲言碎语 2023.8.14 记录11-13的紧张刺激。46名结赛。 非常高兴能够参加NepCTF2023,以一个初出茅庐的新人的身份参加。ctf的乐趣在于学习和探索,同时我也有想证明自己的成分。 连续两天的凌晨四点睡觉,让我体会着比赛的魅力。每当我纠结一道题(code是第一晚,陌...[2023/8/16]

高精度加减乘除小数详解

高精度 简介 众所周知,在计算机中,每个数据类型都是有存储上限的,那么当数字特别大时应该怎么办呢?这时高精度就产生了。高精度的主要思想就是模拟手算,然后将结果存储到数组中去,相同的,小数也有精度问题,也可以使用相同的思路 存储 这里使用vector 来进行存储,因为这样不需要去管结果有多少位,...[2023/8/16]

背包问题变式总结

01背包 01背包完全装满求方案数 Acwing 278 数字组合 状态表示:二维 集合:所有从前 \(i\) 个数里面选,且和是 \(j\) 的选法的集合 属性:选法的数量 状态计算 分为 选 \(i\) 的所有方案 和 不选 \(i\) 的所有方案 不选 \(i\) 也就是从前...[2023/8/14]

OpenCV实战:从图像处理到深度学习的全面指南

本文深入浅出地探讨了OpenCV库在图像处理和深度学习中的应用。从基本概念和操作,到复杂的图像变换和深度学习模型的使用,文章以详尽的代码和解释,带领大家步入OpenCV的实战世界。 1. OpenCV简介 什么是OpenCV? OpenCV(Open Source Computer V...[2023/8/4]

【题解】Educational Codeforces Round 150(CF1841)

【题解】Educational Codeforces Round 150(CF1841)

赛时过了 A-E,然后就开摆了,为什么感觉 C 那么无厘头[发怒][发怒] 排名:25th A.Game with Board 题目描述: Alice 和 Bob 玩游戏,他们有一块黑板。最初,有 \(n\) 个整数 \(1\)。Alice 和 Bob 轮流操作,Alice 先手。 轮到时...[2023/7/26]

C风格字符串

C风格字符串

C风格字符串 关于C风格字符串的问题 ?C++有string为什么还要学习C风格字符串? 某些场景使用C风格字符串更方便、更高效 C标准库、Linux库 、开源库和数据库的接口函数,一定有C语言但不一定有C++(MySQL的接口函数只有C而没有C++) String是类,封装了C风格字符串(...[2023/7/10]

Dlang 与 C 语言交互(二)

Dlang 与 C 语言交互(二) 随着需求不断增加,发现好像需要更多的东西了。在官网上找不到资料,四处拼凑才有了本文的分享。 上一文(DLang 与 C 语言交互(一) - jeefy - 博客园)中说了非常简单了例子。本文试着向更高级的方法拓展。 文章链接(防止机器搬运):https...[2023/6/26]

逍遥自在学C语言 | 指针陷阱-空指针与野指针

前言 在C语言中,指针是一种非常强大和灵活的工具,但同时也容易引发一些问题,其中包括空指针和野指针。 本文将带你了解这两个概念的含义、产生原因以及如何避免它们所导致的问题。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小...[2023/6/26]

前端学习C语言 - 函数和关键字

前端学习C语言 - 函数和关键字

函数和关键字 本篇主要介绍:自定义函数、宏函数、字符串处理函数和关键字。 自定义函数 基本用法 实现一个 add() 函数。请看示例: #include <stdio.h> 自定义函数,用于计算两个整数的和 int add(int a, int b) { a, b 叫形...[2023/6/19]

逍遥自在学C语言 | 枚举的那些事儿

逍遥自在学C语言 | 枚举的那些事儿

前言 在C语言中,枚举是一种方便组织和表示一组相关常量的工具。枚举类型有助于提高代码的可读性和可维护性。本文将介绍C语言枚举的基本概念、语法和用法,以及一些高级技巧。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿...[2023/6/9]

逍遥自在学C语言 | break-循环的中断与跳转

前言 在C语言中,break语句是一种控制流语句,它用于终止当前所在的循环结构(for、while、do-while)或者switch语句,从而跳出循环或者结束switch语句的执行。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一...[2023/6/7]

逍遥自在学C语言 | 条件控制的正确使用姿势

前言 在C语言中,有三种条件判断结构:if语句、if-else语句和switch语句。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 二、if语句 基本语法 if (条件) { ...[2023/5/10]

C语言如何写类实现教程示例

目录引言操空MYSQL的C程序定义个 联合体+结构体 类型 Parameter 引言 以前用C++BUILDER  写类非常爽. 类把涉及数据相关的操作打包成一个类. 然后后期开发工程师可以继承啊, 这样提升了开发效率. 不过C语言注重的是执行效率, 类...[2023/4/26]

C 语言版线程池

一、初始线程池 1.1 何为线程池? 我们先来打个比方,线程池就好像一个工具箱,我们每次需要拧螺丝的时候都要从工具箱里面取出一个螺丝刀来。有时候需要取出一个来拧,有时候螺丝多的时候需要多个人取出多个来拧,拧完自己的螺丝那么就会把螺丝刀再放回去,然后别人下次用的时候再取出来用。 说白了线程池就是...[2023/4/17]

逍遥自在学C语言 | 位运算符&gt;&gt;的高级用法

前言 在上一篇文章中,我们介绍了<<运算符的高级用法,本篇文章,我们将介绍>> 运算符的一些高级用法。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 二、优化除法运...[2023/4/17]

【Visual Leak Detector】库的 22 个 API 使用说明

说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇主要介绍 VLD 库提供的 22 个外部接口。同系列文章目录可见 《内存泄漏检测工具》目录 目录说明1. 头文件简介2. 文件 vld_def.h 简介3. 文件 vld.h 简介3.1 接口 VLDDisable3.2 接口 ...[2023/4/17]

逍遥自在学C语言 | 位运算符^的高级用法

前言 在上一篇文章中,我们介绍了|运算符的高级用法,本篇文章,我们将介绍^ 运算符的一些高级用法。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 二、交换两个变量的值 #include ...[2023/4/12]

逍遥自在学C语言 位运算符 &quot;|&quot; 的5种高级用法

前言 在上一篇文章中,我们介绍了&运算符的高级用法,本篇文章,我们将介绍| 运算符的一些高级用法。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 二、将两个字节合并成一个16位整数...[2023/4/12]

逍遥自在学C语言 | 逻辑运算符

前言 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 二、构成和表示方式 逻辑运算符是用来比较和操作布尔值的运算符 C语言中的逻辑运算符主要有3个,如下表所示 运算符 名称 示例 描...[2023/4/7]

基于C语言实现计算生辰八字五行的示例详解

本文介绍生辰八字和八字五行的一种算法。站内有人在查询生辰八字的算法,此题本人也感兴趣。故以此文以续貂尾。 生辰八字计算要点是节气日,年柱以立春起,月柱以是月节气日起,故先要计算月首的节气日。本节气算法的节气时刻精度差些,但确定节气日是可以的。程序启动时先计算干支表和对应的五行表。具体的计...[2023/3/29]

C语言中#define在多行宏定义出错的原因及分析

目录C语言中#define在多行宏定义出错的原因1.第一种错误2.第二种错误使用#define宏定义的几个小技巧1.调试开关2.条件编译3.宏实现函数4.跨行宏定义5.防止头文件被重复包含6.带参宏与带参函数的区别7.注意事项总结 C语言中#define在多行宏定义出错的原因 1.第一种错误 ...[2023/2/27]

解读C语言非void函数却没有return会怎么样

目录问题引出问题继续深入答案揭晓结论更多最后 问题引出 前几天学习栈, 写了一个创建栈的函数 typedef struct{ int data[STACKSIZE]; int top; }stack, *Stack;Stack NewStack(void){ ...[2023/2/27]

C语言中带返回值的宏定义方式

目录C语言中带返回值的宏定义宏定义编写宏定义分析宏定义验证经验总结C语言中一些宏定义和常用的函数typeof 关键字snprintf()函数的作用__builtin_expect的作用C语言中常用的预定义反斜杠的作用总结 C语言中带返回值的宏定义 相信大家在实际工作中,一定有遇到需要编写一个宏定...[2023/2/27]

C语言三子棋的实现思路到过程详解

目录一、三子棋小游戏的简单介绍二、三子棋的思路及代码实现1、打印游戏菜单2、选择是否开始游戏3、创建并且初始化棋盘3.1、创建棋盘3.2、初始化棋盘4、打印格式化棋盘5、玩家下棋6、电脑下棋7、判断是否玩家或者电脑赢三、整合三子棋游戏代码game.hgame.ctest.c 一、三子棋小游戏的简单介...[2023/2/15]

333
2
记录数:1258 页数:1/2612345678910下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载
加载更多