C语言大师
文章平均质量分 64
深入浅出地介绍C语言的知识。
马上到我碗里来
野生汽车工程师|主动悬架|汽车电子|自动驾驶
展开
-
C++中全局变量、静态全局变量和全局常量详解
在C++中,全局变量、静态全局变量和全局常量是程序中常见的概念,它们在不同的情境下有着不同的用途和特性。让我们深入了解这些概念,以及它们的区别和用法。原创 2024-02-28 14:42:46 · 1495 阅读 · 0 评论 -
C 语言中的数据类型:uint8_t、uint16_t、uint32_t、uint64_t
这些数据类型来自于C语言的标准头文件stdint.h。在这个头文件中,定义了一系列固定宽度的整数类型,以确保在不同平台上数据类型的大小是一致的。这种固定宽度的整数类型对于需要确保位宽和大小一致性的底层编程任务非常重要。在stdint.h头文件中,这些数据类型的定义通常是通过使用 typedef 关键字来实现的,将已有的基本整数类型重新定义为特定宽度的无符号整数类型。// 8位无符号整数类型// 16位无符号整数类型// 32位无符号整数类型// 64位无符号整数类型。原创 2024-02-28 14:30:29 · 5523 阅读 · 0 评论 -
C++内联函数的使用
内联函数是一种告诉编译器在调用函数时将函数体直接插入到调用点的方法。这样可以减少函数调用的开销,因为不需要额外的栈帧和跳转指令。在C++中,我们可以使用关键字inline来声明内联函数。上面的例子中,add函数被声明为内联函数。// 替换为 int result = 3 + 5;在使用内联函数时,需要权衡其优缺点,并根据实际情况进行选择。小型函数、频繁调用的函数以及类的访问函数是内联的理想候选。通过合理的使用内联函数,我们可以在不牺牲代码结构的情况下提高程序的性能。原创 2024-02-24 01:00:00 · 296 阅读 · 0 评论 -
C++基础编程总结(代码实例)
数据类型 数组名[ 数组长度 ];数据类型 数组名[ 数组长度 ] = { 值1,值2 ...};数据类型 数组名[ ] = { 值1,值2 ...};//定义方式1//数据类型 数组名[元素个数];//利用下标赋值//利用下标输出//第二种定义方式//数据类型 数组名[元素个数] = {值1,值2 ,值3 ...};//如果{}内不足10个数据,剩余数据用0补全//逐个输出//一个一个输出太麻烦,因此可以利用循环进行输出i < 10;i++)原创 2024-02-20 03:00:00 · 2152 阅读 · 0 评论 -
共享指针在项目中实际的用法
共享指针是 C++ 中一种智能指针,用于管理动态内存。它可以有效防止内存泄漏和悬空指针问题。共享指针可以用来管理对象的生命周期。当最后一个共享指针指向的对象时,该对象将被自动释放。在实际项目中,共享指针是一种非常有用的工具。它可以帮助我们有效管理内存,避免内存泄漏和悬空指针问题。共享指针可以用来在多个对象之间共享资源。这可以提高资源的使用效率。共享指针可以用来实现循环引用。例如,以下代码使用共享指针来管理一个。例如,以下代码使用共享指针来实现两个。例如,以下代码使用共享指针来在两个。原创 2024-02-15 01:30:00 · 283 阅读 · 0 评论 -
C++中类和结构体的区别(代码说明)
C++中的类和结构体都是用于定义自定义数据类型的关键字。它们之间有很多相似之处,但也有一些关键的区别。原创 2024-02-14 20:32:34 · 466 阅读 · 1 评论 -
hpp文件:C++开发中的利器
hpp文件是C++程序中一种特殊头文件,它可以包含类的声明和实现。原创 2024-02-14 20:12:19 · 1227 阅读 · 1 评论 -
c++应避免使用普通指针,而使用智能指针(包括shared,unique,weak)
在C++中,使用智能指针(如和)通常被认为是比使用普通指针更安全和推荐的做法。智能指针有助于管理内存,并提供了一些优势,如自动内存释放、防止内存泄漏和提高代码的可维护性。智能指针负责在适当的时候释放分配的内存,从而减少了因忘记释放内存而导致的内存泄漏的风险。智能指针可以跟踪指针的所有权,确保在不再需要时释放资源。这有助于避免悬挂指针(dangling pointers)问题。允许多个指针共享同一块内存,并在最后一个拥有者释放内存时才进行清理。这对于资源共享和协作非常有用。原创 2024-02-08 01:00:00 · 421 阅读 · 0 评论 -
线程和进程的区别及基础线程创建
本文深入探讨了线程和进程的概念,以及它们之间的关键区别。通过一个简单而生动的比喻,将进程比喻为火车,线程比喻为火车的车厢,为读者提供了直观的理解。总体而言,深入理解线程和进程的概念,并掌握基础线程创建和属性设置,对于并发编程和多线程应用的开发至关重要。通过本文的阐述,读者将更好地理解这些概念,并能够在实际应用中更有效地利用线程和进程的优势。原创 2024-02-04 17:49:07 · 904 阅读 · 0 评论 -
main函数中参数argc和argv用法解析
argc是的缩写,表示传入main函数的参数个数;argv是的缩写,表示传入main函数的参数序列或指针,并且argv[0],所以确切的说需要我们输入的main函数的参数个数应该是argc-1个;argv是main函数的第二个参数**也可以替换为**,两者是等价的。原创 2024-02-01 10:51:33 · 1045 阅读 · 0 评论 -
extern的用法解析
4.1 include头文件的方式//a.h//a.ctemp = 888;//b.c4.2 不include头文件的方式//a.hint temp;//不需要加extern//a.ctemp = 888;//b.c//#include "a.h" //不需要包含头文件//需要声明此变量为外部变量//然后直接使用即可。原创 2024-01-31 11:18:29 · 667 阅读 · 0 评论 -
探索 C/C++ 中神秘的 #pragma:编译器的魔法指令
在C和C++等编程语言中,你可能曾经遇到过#pragma这个神秘的关键字。这并不是普通的代码语句,而是一种预处理指令,它向编译器发出特殊的命令,用于控制编译过程中的各种行为。以下列举一些常见的#pragma用法。原创 2024-01-24 14:01:28 · 467 阅读 · 0 评论 -
C语言大师(11)并发编程
并发和多线程编程是C++中的一个高级且重要的领域。它使得开发者能够编写更高效和响应性更强的程序,尤其在处理大量数据或执行复杂计算时更是如此。然而,正确使用C++的并发编程特性需要深入理解线程间的同步和通信机制,以避免常见的陷阱,如死锁和竞争条件。得益于C++11及更高版本中提供的工具和库,开发者现在可以更加容易地创建稳定和高效的并发应用程序。原创 2024-01-27 02:00:00 · 746 阅读 · 0 评论 -
C语言大师(10)智能指针
智能指针在现代C++编程中扮演着关键角色,帮助程序员有效管理动态分配的内存,防止内存泄漏。通过理解和正确使用。原创 2024-01-26 01:00:00 · 548 阅读 · 0 评论 -
C语言大师(9)标准模板库(STL)
STL是C++编程的基石之一,它通过提供一套高效、灵活的工具来简化数据结构和算法的实现。无论是进行日常的数据存储、遍历、排序还是更复杂的操作,STL都能提供必要的支持。原创 2024-01-25 01:00:00 · 498 阅读 · 0 评论 -
C语言大师(8)异常处理
异常处理为C++程序提供了一种安全处理错误和异常的机制。通过使用。原创 2024-01-24 01:00:00 · 407 阅读 · 0 评论 -
C语言大师(7)模板
模板是C++中一个强大的特性,它极大地提高了代码的复用率和灵活性。函数模板和类模板是C++模板编程的两个基本方面,它们在实现泛型编程方面发挥着关键作用。通过使用模板,程序员可以写出更加通用、高效和灵活的代码。原创 2024-01-23 01:00:00 · 324 阅读 · 0 评论 -
C语言大师(6)运算符重载
运算符重载是C++中的一项强大特性,它允许程序员定义已存在运算符的新行为,特别是对自定义类型的操作。这使得自定义类型的对象可以像内置类型那样自然地进行运算。本文将通过一些示例展示如何在C++中重载不同的运算符。原创 2024-01-22 02:00:00 · 360 阅读 · 0 评论 -
C语言大师(5)构造函数和析构函数
构造函数和析构函数在C++面向对象编程中极为重要,它们为对象的创建和销毁提供了必要的机制。通过构造函数,可以确保对象在创建时被正确初始化,而析构函数则在对象生命周期结束时帮助释放资源和进行其他清理工作。理解这些函数的作用和如何使用它们是每个C++程序员必备的技能。原创 2024-01-21 21:30:26 · 578 阅读 · 0 评论 -
C语言中头文件h的包含位置
引用的头文件应该放在c文件中还是h文件中,比如有demo.c和demo.h两个文件,其中demo.c中的函数A中的变量定义在了temp.h中,那么temp.h应该include在demo.c还是demo.h中?文件)中还是另一个头文件中,取决于具体的使用场景和设计考虑。包含的其他源文件中使用,则应该将。在C语言项目中,决定将头文件(中定义的模块,则最好将。文件)包含在源文件(在上面的例子中,如果。原创 2024-01-18 01:00:00 · 435 阅读 · 1 评论 -
C语言大师(4)面向对象编程
本文通过实例介绍了C++中面向对象编程的几个核心概念。理解这些概念对于充分利用C++的OOP特性至关重要。原创 2024-01-17 09:47:46 · 318 阅读 · 0 评论 -
C语言大师(3)函数
在C++中,函数是由返回类型、函数名和参数列表组成的代码块。一旦定义了函数,你就可以在程序的任何地方调用它。// 定义一个函数,计算两个数的和// 调用函数return 0;这个示例展示了函数定义的基本结构和如何在程序中调用一个函数。原创 2024-01-17 04:00:00 · 344 阅读 · 0 评论 -
C语言大师(2)基础语法
本文为C++的基础语法中的几个主要知识点编写一些简单的示例。原创 2024-01-16 23:05:01 · 360 阅读 · 1 评论 -
C语言大师(1)导读
理解智能指针(如std::unique_ptr、std::shared_ptr)的用途和工作原理,以及它们在资源管理中的重要性。:理解C++的基本语法规则,包括变量声明、数据类型、操作符、控制结构(如if-else、循环)等。:熟悉STL的各种容器(如vector、map)、迭代器、算法和函数对象。:了解如何定义和使用函数,包括参数传递、返回值、重载和默认参数。:了解如何创建和销毁对象,以及如何使用构造函数和析构函数。:掌握类和对象的概念,理解封装、继承和多态性。:学习如何为类定义自定义运算符行为。原创 2024-01-16 22:43:14 · 407 阅读 · 1 评论 -
C语言中static的主要作用
这种做法常用于需要保持状态或计数的场合,例如在函数被多次调用时跟踪特定事件的发生次数。这个行为展示了非静态局部变量(即自动变量)的典型特性:它们在每次函数调用时都会重新初始化,并且在函数调用结束时失去它们的值。是一个只在声明它的函数内可见的变量,且其值在函数调用之间会保持不变。函数时被重新初始化为其声明时的值。变量的值也不会丢失,而是在下一次函数调用时继续从上次的值开始计数。变量的一个典型用途,用于跟踪函数被调用的次数或保持其他类型的状态信息。关键字在C语言中的用法,特别是在函数内部定义静态变量的情况。原创 2024-01-16 09:15:23 · 491 阅读 · 1 评论