
C语言基础练习
流水石板路
物联网 机器人 自动控制 嵌入式
展开
-
大数阶乘问题
大数阶乘问题原创 2022-11-06 16:05:09 · 130 阅读 · 0 评论 -
数组用法易错点
数组用法易错点原创 2022-11-06 12:20:08 · 333 阅读 · 0 评论 -
leetcode刷题记录--数组 “寻找数组的中心索引”
自己编写的答案及测试函数。原创 2022-08-03 22:51:49 · 185 阅读 · 0 评论 -
《编写高质量代码-改善C程序代码的125个建议》读书笔记-3 函数
通常将目的参数放在前面,源参数放在后面。原创 2022-07-05 15:40:40 · 136 阅读 · 0 评论 -
函数指针知识点记录
平时写代码很少用到函数指针,对这一块知识点的认知逐渐模糊。恰巧看书看到了,记录个帖子,以备后续查阅注: 本例中,我们使用fp = test_fp; 方式给函数指针变量赋值;除此之外,还可以使用fp = &test_fp;方式。 分析:1- int (*fp)(int cnt)。 定义了一个函数指针变量fp,指向函数的类型为int (函数名)(int cnt);2- fp = test_fp。 给函数指针赋值,令其指向test_fp3- (*fp)(2)。 函数调用。由分析可知要想定义一个函数指针变量,原创 2022-07-04 10:24:49 · 227 阅读 · 0 评论 -
《编写高质量代码-改善C程序代码的125个建议》读书笔记-2 表达式 、控制语句
在C语言中,有些操作符很相似,比如=与==、|与||、&与&&等。在使用这些操作符时,一不小心就很容易造成混淆,给程序带来不必要的错误。| :位或 ; ||: 逻辑或&:位与 ; &&: 逻辑与错误: 对于和常量比较的条件判断,可以把常量写在前面,避免混淆=和==。因为当编译类似if (3 = ret )会报错。尽量使用复合赋值运算符尽量避免编写多用途的、太复杂的复合表达式尽量避免在表达式中使用默认的优先级C语言也提供三种基本流程控制结构:顺序结构、选择结构与循环结构。首要原则就是要使正常情原创 2022-07-01 15:48:26 · 272 阅读 · 0 评论 -
typedef的几点认识--常学常新
我们通常用typedef来重命名某个变量,或将和平台无关的数据类型起个别名。如下今天看编码规范发现typedef的几点用法比较奇怪记录下来:初看感觉很奇怪,使用ARR_100来重命名元素个数为100的数组int [100],感觉写法很奇怪,为什么不是typedef int[100] ARR_100;?说法1:typedef只能为数据类型定义别名;int是数据类型,int[100]不是数据类型说法2:语法规定,记住就好。参考:想问下为什么不写成typedef int[4] int_array;-优快云原创 2022-06-11 16:28:30 · 209 阅读 · 0 评论 -
《编写高质量代码-改善C程序代码的125个建议》读书笔记-1数据
1- 回绕溢出问题1.1- 显式声明为signed char或unsigned char的类型来执行算术运算因为不显式声明是否有符号,将由编译器决定是否加符号1.2- 使用rsize_t或size_t类型来表示一个对象所占用空间的整数值单位确保入参和其比较值数据类型相同订正:........................原创 2022-05-11 11:37:41 · 287 阅读 · 0 评论 -
【无标题】
带示例: linux termios结构_取而代之的专栏-优快云博客_linux termios参数接口说明:LINUX 使用tcgetattr与tcsetattr函数控制终端_Liuqz2009的专栏-优快云博客_tcsetattrtermios (Unix) - Python 中文开发手册 - 开发者手册 - 云+社区 - 腾讯云Termios_百度百科...转载 2022-01-05 14:09:52 · 80 阅读 · 0 评论 -
c++编译makefile
CC=g++EXEC=lhkSRCS=main.cppOBJS=$(SRCS:.cpp=.o)start:$(OBJS) $(CC) -o $(EXEC) $(OBJS).cpp.o: $(CC) -o $@ -c $< clean: rm -rf $(OBJS)和C略有不同参考:利用makefile文件编译c++源文件_zhaocuit的博客-优快云博客_makefile编译...转载 2021-12-17 13:40:12 · 609 阅读 · 0 评论 -
system返回值--转载
详细参考帖子:system函数返回值_zy799894671的专栏-优快云博客_c++ system返回值摘录帖子主要内容如下:system的返回值并不等于其调用的程序的返回值在程序中,用exit来设置进程的退出值时,虽然该函数的参数类型为int型,但再父进程中只能取到其值的低8位.所以用exit返回值时,高于255的值是没有意义的.对于system函数,返回值是由两部分组成的,低8位值表示所执行的脚本在执行过程中所接收到的信号值,其余的位表示的脚本exit退出时所设置的值WEXIT..转载 2021-11-02 10:03:21 · 1187 阅读 · 0 评论 -
如何把int数据存在char--C语言小练习
直接上代码:#include<stdio.h>#include<stdlib.h>#include<string.h>int main(int argc, char *argv[]){ char dest[100] = {0}; int cnt = 0x1234; int tmp = 0x5678; memcpy(dest, (void *)&cnt, sizeof(int)); memcpy(dest+sizeof(int..原创 2021-10-15 17:13:19 · 609 阅读 · 0 评论 -
乘法和左移关系
参考:https://blog.youkuaiyun.com/newbird105/article/details/45332621转载 2021-05-12 21:47:39 · 1618 阅读 · 0 评论 -
void类型应用 && 函数指针实现面向对象
原帖:【C进阶】同事用void把我给秀翻了!摘录: 虽然void不能直接修饰变量,但是其可以用于修饰指针的指向即无类型指针void*,无类型指针那就有意义了,无类型指针不是一定要指向无类型数据,而是可以指向任意类型的数据。使用函数指针实现面向对象:在Oper()接口中,除了可以定义一个函数指针对象,还可以直接用:((void (*)(void*))fuc)(param);这种嵌套很多,有点搞不明白。。。#include<stdio.h>#...转载 2021-01-31 12:56:24 · 283 阅读 · 0 评论 -
函数指针
前言:实际工作中我们会用到函数指针场景。最典型的时输入交互场景。例如:在uboot引导内核启动过程中,我们可以在串口输入一些命令,uboot解析这些字符,执行对应的函数。在这个过程中就会用到函数指针。用了半分钟想了下使用函数指针和直接调用函数有啥优势,好像也没啥特别的。看帖子发现用函数指针可以实现面向对象的功能,可以参考这篇帖子:使用函数指针实现C到面向对象。语法:参考:函数指针语法//函数指针定义函数返回值类型 (*函数指针名字) (函数入参);//函数指针赋值.原创 2021-01-31 12:19:47 · 125 阅读 · 0 评论 -
C语言基础_文件操作-1
写在前面之前从单片机起步,没用过文件操作,甚至看C语言的书,感觉文件操作好高深,对其望而生畏。直到接触到linux,尤其是学习了字符设备驱动,发现字符设备就是对文件的操作。都说linux下一切皆文件,对其理解还不是太深,那就满满学习吧。学习目标:掌握C语言中的文件操作,包括:打开、关闭;读写;定位等。具体设计到的函数有:fopen;fclose;fread;fwrite;fp...原创 2020-02-24 19:33:57 · 805 阅读 · 0 评论