C语言
文章平均质量分 51
Ethan-Code
好记性不如烂笔头,加油!
展开
-
【C/C++】struct和class的区别
struct和class的区别默认权限不同struct 的默认权限是 public 公有class 的默认权限是 private 私有struct 成员中不能写函数,但是可以写函数指针如果不在class类中表明访问权限,则默认都为private,类外不可以访问而struct中只能为public,类外可以访问...原创 2022-05-27 17:16:09 · 220 阅读 · 0 评论 -
【C/C++】strlen和sizeof的区别(总结表)
strlen和sizeof的区别strlensizeof本质为一个函数本质为一个运算符只能用char*做参数可以用任何类型做参数必须以’\0’结尾, 不统计’\0’’\0‘会统计一个字节用来计算字符串长度用来计算占用内存大小字符数组时计算的是字符串长度归还全部数组的尺寸...原创 2022-05-27 17:15:33 · 149 阅读 · 0 评论 -
【C/C++】inline关键字内联
inline关键字内联函数的代码会被编译器在调用它的地方展开。解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题。1.作用节省栈空间,防止栈空间不足减少函数调用产生堆栈操作,提高程序执行效率2.注意事项inline修饰的函数能否真正内联(在调用处展开),由编译器决定,若函数体展开后太大,编译器可能不会展开。inline只适合较为简单的函数,不能包含复杂结构控制语句while和switchinline必须和函数体的定义放在一起才能实现内联inline函数的实现应放在头文件中。否则原创 2022-05-27 17:14:33 · 443 阅读 · 0 评论 -
【C/C++】关于内存对齐
内存对齐1. 为什么要内存对齐CPU访问内存时以字长为单位。32位CPU字长为4个字节,因此CPU一次性访问的内存单位等于4个字节。即32位CPU的内存读取操作是4字节对齐的。如果数据的存储不采用内存对齐,可能会发生一个数据CPU需要访问2次内存的情况。2. 内存对齐的目的减少CPU访问内存的次数,加大CPU访问内存的吞吐量。为了让内存的存取更有效率因为CPU对内存的读取操作是对齐的,采用不对齐的存储方式,会导致为了读取一个数据CPU要访问两次内存便于移植:不是所有平台都可以访问任意地址的原创 2022-05-27 17:13:43 · 448 阅读 · 0 评论 -
【Clion】自定义内容的自动补全——动态模板使用教程
Clion的动态模板动态模板的作用:实现自动补全。添加动态模板添加动态模板的步骤:第一步是找到动态模板在哪里添加打开clion的设置setting找到编辑器选项editor选择实时模板live template选择C/C++栏目点击右边的"+",选择1.动态模板如果你的界面和我不一样(可能是主题的问题,也可能是版本的问题,不过大同小异)没有汉化的话显示的应该都是英文的选项,上面的步骤里有附加英文选项。添加动态模板的步骤:第二步是动态模板怎么设置输入缩写(即你想要补全的触发关键词原创 2022-05-19 15:39:10 · 6007 阅读 · 0 评论 -
【C/C++基础】string.h字符串标准库常用函数
string.h常用函数使用时需要包含头文件<string.h>#include <string.h>本文介绍了3个常用函数strcat()strcmp()strlen()扩展了strlen()与sizeof()的却比(1) strcat(字符数组1,字符数组2)作用:链接两个字符数组中的字符串,把字符串2链接到字符串1后边,结果放在字符数组1中。不要搞反了,是把右边连接到左边的屁股后边去。说明:(a)字符数组1必须足够大,能够容纳连接后的新字符串。(b原创 2022-04-01 15:20:58 · 2442 阅读 · 0 评论 -
C指针 各教程知识点汇总
翁恺1.数组与指针数组变量本身表达地址int a[10]; int *p =a;//无需用&取地址但是数组元素表达的是变量,需要用&取地址a == &a[0]//等价于首元素的地址[]运算符可以对数组做,也可以对指针做:p[0] 等价于 a[0]*运算符可以对指针,也可以对数组做*a = 25;数组变量是const的指针,所以不能被赋值int arr[] <==> int* const a;//数组是常量指针2.指针与const原创 2022-04-01 15:17:26 · 827 阅读 · 1 评论 -
【C/C++基础】C语言标准库
C语言标准库C89中文件简介说明<assert.h>断言相关<ctype.h>字符类型判断<errno.h>标准报错机制<float.h>浮点运算<limits.h>各种体系结构限制<locale.h>本地化接口<math.h>数学函数<setjmp.h>跨函数跳转<signal.h>信号(类似UNIX的信号定义原创 2022-04-01 13:53:55 · 750 阅读 · 0 评论 -
【C/C++基础】C语言转义字符表
转移字符表转义字符意义ASCII码值(十进制)\a响铃(BEL)007\b退格(BS) ,将当前位置移到前一列008\f换页(FF),将当前位置移到下页开头012\n换行(LF) ,将当前位置移到下一行开头010\r回车(CR) ,将当前位置移到本行开头013\t水平制表(HT)009\v垂直制表(VT)011\’单引号039\"双引号034\\反斜杠092\n和\t比较常用:\n原创 2022-04-01 13:39:52 · 3144 阅读 · 0 评论 -
【C/C++基础】C语言运算符优先级和结合性
C语言运算符优先级表同一优先级的运算符,运算次序由结合方向所决定。简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符优先级表优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2++原创 2022-04-01 13:37:22 · 840 阅读 · 0 评论 -
【C/C++基础】C语言数据类型表
C语言数据类型表关键字位长(字节)范围格式化字符串char1 bytes-128…127(或0…255,与体系结构相关)%cunsigned char1bytes0…255%c, %hhusigned char1bytes-128…127%c, %hhd, %hhiint2bytes(16位系统) 或 4bytes-32768…32767 或 -2147483648…2147483647%i, %dunsigned int2byte原创 2022-04-01 13:35:29 · 689 阅读 · 0 评论 -
C语言#error的使用
#error的作用#error为预处理指令,用于指示错误。编译程序时,只要遇到#error 就会生成一个编译错误提示消息,并停止编译。其语法格式为:#error error-messageerror-message 不需要用双引号包围.案例在查看大工程中的宏的时候,发现其在多个头文件中均有定义。由于项目中会根据条件编译来选择对应的头文件,因此在所有的这些含有该宏定义的头文件中加上一句:#error debug如下所示然后全部保存save all代码编辑器是sublime,原创 2022-03-14 12:16:28 · 7143 阅读 · 0 评论 -
C/C++中指针与const、指针与数组、指针与函数的关系
C/C++指针1. 指针与const1.1 指向const的指针声明:const 类型 *指针名 = 地址;const int *p = &a;从声明语句可以看处,const修饰的是int,并不会对指针p造成影响,因此指针变量p的值可以改变即指向可以改变,而const int表示整型常量,因此p指向的对象是整型常量。对指针而言,指向可以变,而不能改变对象的值。const float PI = 3.1415;const float* p = &PI; //常规使用注意:原创 2021-12-14 21:34:45 · 1733 阅读 · 0 评论 -
C语言整型浮点型混合运算截断问题
整型浮点型混合运算的截断问题及处理整型运算赋值给浮点型整型浮点型混合运算后赋值给浮点型整型运算赋值给浮点型情况处理和结论:整形强制转换运算后赋值给浮点型 结论 : 不会截断整形乘100后直接除以整形后赋值给浮点型 结论:输出截断,乘100相当于保留两位小数后放大100倍,乘1000相当于保留三位小数整形乘1.0f除以整形乘1.0f后赋值给浮点型 结论:不会截断,效果等同于(1)代码验证#include <stdio.h>int main()原创 2021-06-25 18:08:54 · 1696 阅读 · 0 评论 -
单片机嵌入式中sprintf()函数常用使用方法
前言在嵌入式开发中经常需要将一个变量实时通过串口等协议传输并显示到LCD等显示屏上。但我们得到的大多数的底层库里面只留有显示字符串的接口。因此需要将变量转化为字符串。sprintf()函数的用法函数原型:int sprintf(char *buffer, const char *format, [argument]...)参数:(1)buffer:是char类型的指针,指向写入的字符串指针;(2)format:格式化字符串,即在程序中想要的格式;(3)argument:可选参数,可以为任意原创 2021-04-02 00:09:53 · 4489 阅读 · 0 评论