c吧
关注: 134,727 贴子: 395,051

C语言编程学习、技术交流

  • 目录:
  • 程序设计及人工智能
  • 9

    广告
    11:02
    不感兴趣
    开通SVIP免广告
  • 1
    一、源代码管理工具的起源 为什么会出现源代码管理工具? 为了解决在软件开发过程中,由源代码引发的各种蛋疼、繁琐的问题 源代码会引发哪些问题? 无法后悔:做错了一个操作后,没有后悔药可以吃 版本备份:费空间、费时间 版本混乱:因版本备份过多造成混乱,难于找回正确的想要的版本 代码冲突:多人操作同一个文件(团队开发中的常见问题) 权限控制:无法对源代码进行精确的权限控制 追究责任:出现了严重的BUG,无法得知是谁干的
    Monoaxiom 7-7
  • 2
    有啥好用的还免费的推荐呀#ai#
    Monoaxiom 7-7
  • 1
    由于程序员的待遇明显高于其他行业,特别是嵌入式程序员,职业长期稳定且薪资稳步增长,刚入职的初级嵌入式工程师待遇1万左右,具有三年以上工作经验的工程师大部分能够拿到3万左右,所以这些年轻的工程师会用较短的时间积累较多的财富(相对其他行业的从业人员),往往就会做以下几种看起来平常但实际愚蠢的事情。 1、攒钱给自己买车,买了车以后再攒钱给自己换更好的车,将面子始终放在第一位,车除了当做代步工具以外,没有任何
    Monoaxiom 7-7
  • 1
    作为一名有20多年工作经验的老程序员,给新入职的程序员一些建议,使大家少走一些弯路,在职场和生活中少踩一些坑。这次我谈以下三个话题,分别是智商、情商和财商,这个三个方面相互支撑才能保证大家的工作和生活顺利进行,不管是哪一个方面出了问题都会造成严重的后果,甚至于彻底改变生活的方向。 什么是智商,全称智力商数,是通过专业心理测试,衡量人逻辑、记忆、理解、空间思维等认知能力的量化指标。通俗的理解就是你具备的
    Monoaxiom 7-7
  • 3
    各位大佬们是通过什么方式来提高自己的编码能力与代码质量的?
    Monoaxiom 7-7
  • 1
    有佬指正一下吗 不知道哪里错
    冯楽布 7-5
  • 68

    广告
    10:56
    不感兴趣
    开通SVIP免广告
  • 7
    实在忍不住想刷屏的,可以在这里发帖。 除此之外,其他地方发的水贴都会被删。
    BestAns 7-4
  • 1
    兄弟们,这款《C 查尔斯小火车》手游真的太带感了!
  • 0
    各位搞 EMS 的同行,分享个东西。 自研 EMS 最头疼的是什么?接口联调只能开环测——读个 SOC、看个电压,但你的功率控制策略对不对、异常处理行不行,没条件验证。搭实物测试场?大储规模的光 PCS+BMS+变压器就百万级起步,更别说多单元并联了。 我做了个储能仿真模拟器,一台电脑就能模拟整个储能电站: Modbus TCP 接口,和真机一模一样,你的 EMS 直接连上去读遥测、下发控制物理仿真不是随机数——有潮流求解、PCS 爬坡、SOC 积分、黑启动、变
    sky贝爷 6-30
  • 34
    链接:https://pan.baidu.com/s/14DltrFiD2G_oRvl9wnqEzw?pwd=0822 提取码:0822 复制这段内容后打开百度网盘手机App,操作更方便哦
  • 0
    c中段错误的排查神器:gdb中bt命令 一、核心原因 程序发生段错误(SIGSEGV)时,操作系统会保存当前的函数调用堆栈。 执行 bt(backtrace)可以直接打印出: 从 main 开始,一层层调用到崩溃位置的全部函数链。 二、为什么是排查段错误的神器 1、段错误大多是内存非法访问(空指针、越界、野指针),程序直接闪退,没有日志; 2、没有堆栈信息,你根本不知道代码执行到了哪一行崩溃; 3、bt 直接锁定崩溃所在函数,不用漫无目的地逐行注释代码; 4
  • 9
    如图一,终端里的字体实在太小了,这个问题存在有段时间了,之前一直没管,现在忍不了了想给它改大一点 问了ai,它让我改设置里terminal的font,我已经修改,(原来是14我改到了24)但终端字体还是那么小 有没有大佬懂的?这个小字太难受了
    芙1437 6-25
  • 81

    广告
    10:50
    不感兴趣
    开通SVIP免广告
  • 0
    一、为什么学习设计模式 很多学C++的朋友都会经历一个尴尬的瓶颈:基础语法全都会,循环、类、继承、多态都能写,但写出来的代码永远是“新手风格”。能实现功能,编译零报错,运行也没问题,可一旦项目迭代、需要改需求、新增功能,就会牵一发而动全身。改一行代码,多处逻辑出错;新增一个功能,要重写大半代码;代码越写越乱,冗余堆砌、耦合严重,后期完全无法维护。 这也是大部分新手和专业C++开发的核心差距:语法只是“会写代
  • 3
    看教程说是要先打开源文件才能开始编程,但是我手滑把源文件的那个栏关了,该去哪找?
    4738528857 6-24
  • 0
    1、不要只看宣传资料,其中学习环境、课程内容、项目内容和就业情况都只是参考,要实地考察。 2、不要只听工作人员说了什么,要到实地试学习一段时间,和同学,老师交流。 3、不要只看工作人员承诺了什么,要和快毕业的班级学员沟通,沟通自己的各种顾虑。 4、不要只看项目手册,要看现在学习的学员正在做的项目,项目各种资料和开发流程是否符合企业规范。 5、不要只去一家机构,可以到多家机构去实地考察,各个机构去试学习,比较各
  • 0
    一、什么是时间工具 一套封装好的通用时间操作函数,属于底层公共工具模块,给日志、定时器、上报、数据存储提供统一时间能力,不用到处重复写时间转换代码。 时间工具就是封装好的时间获取、转换、计时函数库,统一给全工程提供时间相关能力,避免重复造轮子,统一时间格式。 二、项目中它能解决哪些问题 1、日志打印时间戳 日志每行输出 2026-06-18 10:30:22,获取本地年月日时分秒; 2、数据入库带时间 485 采集的数据存入 SQLite,每条记录
  • 0
    困于欲望 程序员最大枷锁从来不是收入低,而是无止境的即时欲望。 1、收入刚到手,立刻被消费欲望吞噬 2、思维短视,只看眼前享乐,无视长期代价 3、欲望循环闭环:缺钱→焦虑→靠消费缓解焦虑→更缺钱 毁于傲慢 傲慢不分贫富,是所有人向上突破的天花板。 1、底层的傲慢:拒绝学习,固执己见 2、中产的傲慢:小有成就便自我膨胀 3、小有财富者的傲慢:听不进逆向意见 困于认知 拥有稳定收入、基础资产,却最难跨越阶层,核心病根是认知
  • 57

    广告
    10:44
    不感兴趣
    开通SVIP免广告
  • 0
    作为毕业毕业生,需要对未来3到5年甚至更长的时间进行规划布局,结合deepseek和我的总结,认识一项重要资产:人力资本 什么是人力资本 这个不是简答理解为努力学习,好好工作。什么是资产,资产是能够持续给你带来现金流的东西。一个出租房子,能带来房租,一项存款,能带来利息,那么你的个人能力,技术水平,它每个月给你发工资,给你带来项目,是不是资产,当然是所有资产中唯一一个别人抢不走的资产。 你脑子中的东西,手上是本事
  • 0
    一、把自己从 “码农” 升级为 “AI 指挥官”(人机协同) 现状:CRUD、页面、接口、测试脚本,AI 已能搞定 80%+;初级岗位快速缩减。 要做的事: 精通高级提示词工程:结构化 prompt、思维链、多轮对话、输出格式控制。 学会需求拆解→方案设计→AI 生成→人工校验→性能优化的完整流程。 掌握至少一种 AI 开发工具链:GitHub Copilot、Cursor、IDE 内置大模型、RAG/Agent 框架。 目标:你的效率 = 3–5 个普通程序员;AI 是你的 “超级实习生”,你是决策者
  • 0
    1、开发环境搭建 (1)针对目标开发板安装交叉开发工具链。 (2)安装c语言访问sqlite的第三方库,针对目标机的第三方库。 2、数据类型 sqlite3:数据库句柄(连接实例) sqlite3_stmt:SQL 预处理语句(用于执行 SQL、读取结果) 返回码(int): SQLITE_OK = 0:执行成功 SQLITE_ROW:查询到一行数据 SQLITE_DONE:语句执行完毕 3、核心 API (1)打开数据库 int sqlite3_open(const char *filename, sqlite3 **ppDb); (2)关闭数据库 int sqlite3_close(sqlite3 *db); (3)执行sql语句 int sqlite
  • 0
    一、定时器文件描述符介绍 定时器文件描述符(timerfd)是 Linux 提供的一种将定时事件抽象为文件描述符的机制,用于在事件驱动程序中通过 I/O 多路复用(如 epoll、select、poll)统一处理定时与 I/O 事件。 1、由 timerfd_create() 创建,内核维护一个高精度(纳秒级)定时器,超时时其文件描述符变为“可读”状态。 2、核心作用:让定时器事件能像 socket 或 pipe 一样被 epoll 等机制监控,避免使用信号(如 SIGALRM)或阻塞式 sleep,实现线程安全、无竞态、易
  • 4
    基本啥都不会,我真的惊呆了。问她类的访问权限,她好像不知道是啥,我提示公有,她能说出私有。然后好半天才想起保护。问她私有和保护的区别,她自然是不会。问她float占几个字节,她说8个。。解决tcp粘包用sleep
  • 7
    如题,没打码,希望别介意,介意删帖。
  • 19

    广告
    10:38
    不感兴趣
    开通SVIP免广告
  • 4
    本人今年专升本刚考上,然后想后面走程序员这条路,专科大学的时候主要学了C语言这个,其他都没怎么听(现在本科两年还得补回来),专业的话,现在是大数据工程技术,想着后面考研再考回来(计算机科学与技术或者是软件工程),现在看看嵌入式比较适合C语言发展,然后软考看得我也不知道选哪个了。 各位资深吧友仙贝有什么建议嘛
    BestAns 6-2
  • 0
    1、为什么要使用生产者-消费者模型 在多线程开发中,如果生产者生产数据的速度很快,而消费者消费数据的速 度很慢,那么生产者就必须等待消费者消费完数据才能够继续生产数据,因为生 产过多的数据可能会导致存储不足,同理如果消费者的速度大于生产者那么消费 者就会经常处理等待状态,所以为了达到生产者和消费者生产数据和消费数据之 间的平衡,那么就需要一个缓冲区用来存储生产者生产的数据,所以就引入了生 产者-消费者模式。
  • 0
    C 语言为啥要头文件 头文件就是:函数、变量、结构体的声明说明书 核心作用 告诉编译器:这个东西存在 调用别人写的函数前,必须先声明,不然编译器不认识。 实现自动化声明,不用手动进行声明 多个.c文件共用同一套函数 / 定义,不用重复抄写。 封装隔离:实现放.c,声明放.h,隐藏内部细节。
  • 0
    有没有要一起学习C++ 的呀?
  • 1
    有没有一起学C++ 的搭子?
  • 14

    广告
    10:32
    不感兴趣
    开通SVIP免广告
  • 0
    嵌入式开发资源有限、实时性要求高、硬件交互频繁,因此不追求复杂设计模式,只选用轻量、实用、适配裸机 / RTOS的经典模式。 1、单例模式(硬件驱动必备) 适用场景:UART、I2C、SPI、FLASH、ADC 全局唯一硬件资源。 核心思想:保证一个硬件只实例化一次,避免重复初始化、资源冲突。 嵌入式写法: static UART_HandleTypeDef huart1; // 静态全局 = 单例 UART_HandleTypeDef* UART1_GetInstance(void) { return &huart1; } 全局唯一,外部只能通过接口访问,保护硬件资源,避
  • 0
    一、自信很重要 自信心使人勇敢,自信的人总是能够以一种轻松自然的态度来面对生活中复杂的情景或挑战,表现出一种大智大勇的气度。自信心使人果断,自信的人勇于承担责任,不会因为事关重大而优柔寡断,不会想着逃避不好的结果而瞻前顾后,因而会保持一贯的果断作风。作为一名程序员,我们更需要信心,面对项目时我们要仔细分析,想方设法去实现,这样才能取得进步,才能找到自己的不足。 同样在职场中,工作需要自信心;不相信自己
  • 0
    一、观察者模式简介 1、 观察者模式(Observer Pattern)是一种行为型设计模式,用于定义对象之间的一对多依赖关系:当一个对象(称为被观察者或主题)的状态发生变化时,所有依赖它的对象(称为观察者)都会自动收到通知并更新。 大白话理解观察者模式: 一个被观察者(发布者 / 主题),一群观察者(订阅者); 只要被观察者状态 / 数据发生变化,就会自动通知所有订阅的观察者,大家同步更新、自动响应。 2、理解要点 一对多依赖:一个被
  • 0
    程序员应该有程序员的修养,那怕再累,再没时间,也要对自己的程序负责。我宁可要那种动作慢,技术一般,但有良好的写程序风格的程序员,也不要那种技术强、动作快的“搞破坏”的程序员。有句话叫“字如其人”,我想从程序上也能看出一个程序员的优劣。因为,程序是程序员的作品,作品的好坏直截关系到程序员的声誉和素质。而“修养”好的程序员一定能做出好的程序和软件。 有个成语叫“独具匠心”,意思是做什么都要做得很专业,
  • 0
    1、表达式中的括号 假如一个比较复杂的表达式中,你并不是很清楚各个操作符的忧先级,即使是你很清楚优先级,也请加上括号,不然,别人或是自己下一次读程序时,一不小心就看走眼理解错了,为了避免这种“误解”,还有让自己的程序更为清淅,还是加上括号吧。 2、函数参数中的const 对于一些函数中的指针参数,假如在函数中只读,请将其用const修饰,这样,别人一读到你的函数接口时,就会知道你的意图是这个参数是[in],假如没有const时,
  • 15
    而且交换定义成员变量的位置,输出结果也不同
  • 43

    广告
    10:26
    不感兴趣
    开通SVIP免广告
  • 6
    大佬带带 #include <iostream> #include<cstring> #include<typeinfo> using namespace std; void ringShift(int *a,int n,int k) { a=(int*)malloc(n*4); char b[100]; cin>>b; for (int i=0,d=0;i<strlen(b);i++,d++){ if(b[i]!=','){ a[d]=b[i]-48; d++; } } for(int i=0,j=0;i<n+n;i++){ if(i<k) a[i+n]=a[n-k+i]; else{ a[i+n]=a[j]; j++; } } for(int i=n,w=0;i<2*n;i++){ if (w==0){ cout<<a[i]; w=1; }else cout<<","<<a[i]; } return ; } int main() { int n,k; scanf("%d,%d",&n,&k); int a[n]; ringShift(a,n,k); return 0; }
  • 0
    什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。 我认为好的程序员应该有以下几方面的素质:  1、有专研精神,勤学善问、举一反三。  2、积极向上的态度,有创造性思维。  3、与人积极交流沟通的能力,有团队精神。  4、谦虚谨慎,戒骄戒燥。  5、写出的代码质量高。包括
  • 0
    c开发之重要关键字: 第一:重量级number one---static static 是 C 语言中非常重要的关键字,它的作用完全取决于你用在什么地方,主要分3 种场景. 1. 修饰局部变量(函数内部的变量) 把栈上的普通局部变量 → 变成静态局部变量 生命周期:从程序启动到结束(只初始化一次) 作用域:仍然只在函数内部可见 2. 修饰全局变量 作用:限制全局变量的作用域 普通全局变量:整个工程所有文件都能访问 static 全局变量:只能在当前 .c 文件内访问 static 全局变
  • 0
    一、xxx半导体企业面试: 1、用过的片上外设有哪些,具体做了什么,结合简历中项目说明。 2、UART/I2C/SPI,拓扑结构,帧结构,通信过程,项目中的运用。 3、项目中LVGL使用,显存优化是怎么操作的 二、xxx终端穿戴类岗位招聘题目: 1.自我介绍 2.指针对内存管理 3.智能指针概念和作用 4.结合项目讲一讲面向对象的编程思维/面向过程区别 5.了解extern吗 6.C++怎么调用C的函数 7.C怎么调用C++的函数 三、xxx科技公司嵌入式岗位: 1.自我介绍。 2.简单描述一下
  • 0
    一、链表概念 1、作用和数组一致,内存中组织数据一种方式,处理一批相同类型数据。 2、数据结构:研究数据在内存如何组织方便处理,链表和数组就是一种典型线性数据结构。 3、数组所有空间是连续,无法使用内存中不连续碎片空间, 链表在内存中空间不需要连续,有效利用内存 4、数组空间没有办法使用变化,造成浪费或者不够 链表中空间动态申请和释放,需要时动态申请,不需要时释放。 5、头节点:链表中第一个节点,不存放数据 尾节
  • 2
    直接从学校机器上拷的,不知道为什么启动特别慢有没有谁有头绪啊,我的意思是这个MSDEV启动特别慢
    BestAns 4-16
  • 75

    广告
    10:20
    不感兴趣
    开通SVIP免广告
  • 0
    1.C 语言中内存管理必须严谨,空指针和重复释放是程序崩溃的主要原因开发过程中多次出现段错误,大多是因为未判断指针是否为空就直接使用,或重复释放结果集,每一次指针访问、每一次内存释放都必须有明确的边界和判断,良好的判空习惯是程序稳定运行的基础。 2.SQL 语句的细微错误会导致功能完全失效、字段顺序不匹配、条件写错都会让查询或更新失败。SQL 语法规范、字段顺序、表结构必须严格统一。 3.C语言是函数化的语言。将问题分为
  • 0
    函数是c语言最基本的单位,c语言是一个函数式的语言,要学懂c语言必须理解函数设计和实现,很多初级开发者由于对函数理解不到位,在项目开发中总是犯一些“基础”的错误,本次通过实例对各种常见的错误进行了整理,希望对各位开发者起到帮助的作用。 网上前几年有一个资料《c语言面试100题》,其中笔试代码编写部分就明显的犯了很多基础性的错误,甚至有些代码是错误,完全不值得参考。从中选择了几个典型案例,指出函数设计中常见的
  • 0
    见过很多的刚毕业的学员的简历中项目仅有三四行,在学校跟着导师做了好几个月项目,或者自己在企业实习期参与了项目,其实都是具备一定的项目经验的,完全可以作为技术亮点在简历中展示,但是由于简历中项目部分极其简单的描述导致自己掌握的技术点和项目经验无法体现,简历筛选通不过失去了很多好的面试机会。 简历中项目描述,建议采用以下方式: 1、项目名称 (1)不要使用xxx字眼代替相关描述,例如xxx数据检测平台,基于xxx智能控
  • 0
    这是 Git 核心设计逻辑决定的,简单说:Git 有三层存储结构,push 只能操作最后一层,add 是把代码送到第一层,少了中间步骤,Git 根本不知道你要提交什么。 一、先搞懂 Git 的 3 层结构(核心原理) 你可以把这三层想象成 「草稿纸 → 备忘录 → 云端硬盘」: 工作区(Working Directory) 就是你电脑上写代码的文件夹,直接修改、新增、删除文件的地方 = 草稿纸。 暂存区(Staging Area / Index) Git 专门设计的临时缓冲区 = 备忘录。 git add 就是把代码从「草

  • 发贴红色标题
  • 显示红名
  • 签到六倍经验

赠送补签卡1张,获得[经验书购买权]

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!

本吧信息 查看详情>>

小吧:小吧主共4

会员: 程序员

目录: 程序设计及人工智能