C语言
顶点元
你当像鸟飞往你的山!
展开
-
C语言知识点---char *a和char a[]
在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。= 17 ,a为数组名,sizeof可以直接计算数组所占空间的大小。= 4,p为指针变量,sizeof计算的是这个变量所占空间的大小。a为数组名,数组首元素的指针常量,因此a不能被赋值。: a为char类型数组名,表示数组的首地址,可以将数组名赋值给指针变量p。这两种形式都可以定义字符串。类型指针,表示用于存放。原创 2024-04-08 15:59:59 · 391 阅读 · 0 评论 -
结构体嵌套问题笔记
结构体相互嵌套原创 2023-10-18 15:51:21 · 215 阅读 · 0 评论 -
利用#undef实现特定模块的调试输出
利用#undef实现特定模块的调试输出Preface在平时的编程中肯定会用到打印功能来调试自己的程序,调试的时候将打印函数取消注释,在调试完成后将打印函数注释掉。不知大家是如何处理的,我以前可一直是这么干的。这样处理第一太繁琐,第二影响程序的美观性。后面想了一个用#if ... #endif语法来封装printf函数的做法:#if DEBUG_MOUDEL print("debug mou...原创 2020-03-11 10:40:06 · 401 阅读 · 0 评论 -
C语言知识点---局部数组的长度可用变量表示
C语言知识点—局部数组的长度可以用变量来定义首先我们知道C语言中,全局数组在定义的时候必须给定长度,而且长度必须是常量。一直没注意函数内部的局部数组在定义的时候长度可以为变量。具体见下例:#include <stdio.h>#include <stdint.h>int main(void){ int a = 5; uint8_t tmp[a]; ...原创 2020-03-10 17:28:58 · 3064 阅读 · 2 评论 -
利用C语言结构体封装函数
C++语言类中可以封装函数,体现了模块操做的整体性,下面代码便是C++语言对串口函数的封装,这样操作便于调用。class MarlinSerial //: public Stream{ public: MarlinSerial(); void begin(long); void end(); int peek(void); int read(voi原创 2018-01-15 11:53:43 · 12000 阅读 · 6 评论 -
C语言小算法集锦---判断输入的数字是否为回文数
#include <stdio.h>int main(void){ int val; int m; int sum = 0; printf("please input a value: "); scanf("%d",&val); ///通过while循环实现将一个数“倒着写” m = val; while(m) { sum = sum * 1...原创 2018-02-27 10:38:17 · 260 阅读 · 0 评论 -
C语言小算法集锦---求第n项的斐波那契数列值
/* 斐波那契数列 1 2 3 5 8 13 21 ...*/#include <stdio.h>int main(void){ int n; int i; int f1, f2, f3; printf("请输入斐波那契数列的项数:"); scanf("%d",&n); f1 = 1; f2 = 2; if(1 == n) { ...原创 2018-02-27 11:55:33 · 943 阅读 · 0 评论 -
求三个整型数中的非零最小值
这里使用了最笨的方法--逐一检验比较:/* 返回三个数中的非0最小值,全为零则返回0 */ int minimum(int num1,int num2,int num3){ if(num1 == 0) { if(num2 == 0) { if(num3 == 0) return 0; els...原创 2019-08-28 09:58:55 · 623 阅读 · 0 评论 -
C语言小算法集锦---交换两个变量的值
c语言交换两个变量的方法: 1.通过创建临时变量的方式交换两个变量的值 2.通过求和的方式交换两个变量的值 3.通过按位异或的方式交换两个变量的值第1种方法需要引入额外的变量;第2种方法中如果要交换的两个值的数据较大,可能会导致数据溢出(不推荐该方法);第3种方法是不是显得很高大上呢下面是在VC++6.0下测试的交换两个变量的值的三种方法的完整测式代码:#include <std...原创 2018-02-16 20:35:45 · 477 阅读 · 0 评论