![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
C语言数组
wiyoo0
菜鸟一枚 爱更新菜鸟教程 联系vx:WZSZQTB
展开
-
判断按键按下的次数
【代码】单片机判断按键按下的次数。原创 2024-03-03 23:40:08 · 802 阅读 · 0 评论 -
C语言strstr函数
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回 str1字符串从 str2第一次出现的位置开始到 str1结尾的字符串;否则,返回NULL。原创 2024-02-16 17:32:03 · 396 阅读 · 0 评论 -
MDK编译过程及文件类型
c和.s文件通过armcc编译器转为.o其中的code、RO、RW、ZI-data程序运行时rom中的rw-data复制到SRAM中,SRAM中一般存储可读写的变量,所以ZI-data和RW-data的数据存储在这。原创 2023-04-18 01:29:29 · 363 阅读 · 0 评论 -
定义宏控制输出printf开关(适用于嵌入式)
宏定义控制输出开关原创 2023-03-28 13:53:25 · 922 阅读 · 0 评论 -
C语言 关于枚举跟结构体联动
前言在单片机写库的过程中,写库的工程师为增加代码的可读性,会利用大量枚举和结构体来规范代码,并加上适当的注释,看起来就比较通俗易懂,层层渐进。刚开始写的时候会比较迷惑,把代码思路摸清楚就很容易了。例程typedef enum{ //枚举 a=1, //枚举中的 a代表的就是1 b=2, c=3, d=4}EnumType;typedef struct{ //结构体 EnumType q; //结构体成员是利用枚举创建的 EnumType w;}Struc原创 2022-05-07 18:06:36 · 1113 阅读 · 0 评论 -
C语言 strcat、strcpy、strlen、srtcmp函数
strcat()函数就是把字符串衔接起来strcat(a,b); 把b字符串接在a字符串后面 注意字符串长度不要溢出strcpy()函数用于字符串复制strcpy(a,b); 把b字符串复制给a字符串直接覆盖 也要注意字符串长度strlen()函数计算字符串长度,直接返回数值给你srtcmp()函数字符串比较 srtcmp(a,b); 如果两字符串相同返回0 不同返回1...原创 2022-02-10 22:41:20 · 935 阅读 · 0 评论 -
C语言关于各数据类型字长
指针变量不管你定义啥子类型都占 4原创 2022-02-10 22:03:32 · 410 阅读 · 0 评论 -
#define #undef 使用
#define 是宏定义#define 的用法是非常多功能的,它不止能实现常量宏定义,开关,还能实现函数#undef 是取消宏定义 在undef后面要加上你要取消的宏定义 不想取消在后面可以瞎写但是不能为空例子#include "stdio.h"int main(){ #define max 50 printf("%d\n",max); #undef max printf("%d\n",max); //运行报错}在这个 #define 到#und..原创 2021-11-19 10:32:10 · 1491 阅读 · 0 评论 -
关于结构体指针(typedef struct后面加*指针)
前言先看个结构体typedef struct node{ int data; struct node *rchild,*lchild;}node,*Node;OK,这里面的使用了typedef关键字,node就是替代了struct node的意思,而Node则代表了struct node*的意思,他指针指向了整个结构体当你创建的是node T时,只能用T.data来表示数据当你用Node指针创建时,Node T就可以用T->data来表示数据我用了一段代码来验证结果原创 2021-11-16 16:36:04 · 19573 阅读 · 13 评论 -
重新回顾C指针
对C指针始终在一个模糊的认识指针就是一个指向地址的标志* 代表 取出存储在地址中的对应值& 代表 取出存放变量的地址先带大家看一段代码#include "stdio.h"int main(void){ int a=5; //a的值为5 int *p=&a; //将指针p指向a的地址 int **pp=&p; //将双重指针pp指向指针p的地址 printf("a的地址 :%p;指针p的值:%p;指针p的地址: %p\n.原创 2021-09-17 16:47:00 · 93 阅读 · 0 评论 -
c语言中?和:是什么意思
这是三目运算符,首先计算表达式的值,若为ture,则"(表达式)? x : y "返回x;否则返回y。例子:c<0?(c=a+b):(c=a-b); 如果c<0成立则执行c=a+b#include <stdio.h>int main(void){ int a=3,b=5,c; scanf("%d",&c); c<0?(c=a+b):(c=a-b); printf("%d",c); return 0; }如果不成立则执行c原创 2021-07-14 16:25:40 · 2498 阅读 · 0 评论 -
给你一组参数利用指针找出最大最小值
#include "stdio.h"//给你一组参数利用指针找出最大最小值 void maxmin(int a[],int len,int *max,int *min) { int i; //用于循环的i *max=*min=a[0]; //先定义为任意一个数都行再做比较 for(i=0;i<len;i++){ //循环 次数不能超过总数目 { if(*min>a[i]) //如果那个最小值比我们定义的小则替换 *min=a[i]; //替换 .原创 2021-07-08 15:42:49 · 270 阅读 · 0 评论 -
利用指针和调用函数计算两组学生的平均分
#include"stdio.h"int main(){ float ave(float c[],int i); //先声明后再写调用 float a[5],b[3],*q,*w; //两组学生的数组和代表的两个指针 int i; //用于for循环的i q=a; //p=&a[0] w=b; //p=&b[0] printf("输入第一组5位的成绩"); for(i=0;i<5;i++) //第一组5位 { .原创 2021-07-06 17:34:55 · 1207 阅读 · 0 评论 -
指针计算一维数组
思路:先写出普通的算法,再转化成指针//利用指针 输入5个同学的成绩 再乘以2倍再输出#include <stdio.h>int main(){ int *p,a[5],i=0; //定义指针p,一维数组a[5],用于for循环的i; p=a; //同等于指针p=&[0],因为原理 &数组名[某数] = 数组名+某数 for(i=0;i<5;i++) //for循环输入5个数字再输出5个数字 { scanf("%d",(p+.原创 2021-07-06 16:49:30 · 305 阅读 · 0 评论 -
对无序数组的查询
#include <stdlib.h>#include <stdio.h>int main(){ int nums[10] = {0, 10, 6, 296, 177, 23, 0, 100, 34, 999};//数组 int a,b=-1,c;//a代表数组下标b代表目标的下标c代表输入的数 printf("输入要查找的数:"); scanf("%d",&c); //要查找的数 for(a=0;a<10;a++) //在十个数组里循环查.原创 2021-06-29 14:37:54 · 767 阅读 · 0 评论 -
二维数组学习和应用
定义个二维数组int a[3][4];定义了一个 3 行 4 列的二维数组,共有 3×4=12 个元素,数组名为 a,即:a[0][0], a[0][1], a[0][2], a[0][3]a[1][0], a[1][1], a[1][2], a[1][3]a[2][0], a[2][1], a[2][2], a[2][3]实例:一个学习小组有 5 个人,每个人有 3 门课程的考试成绩,求该小组各科的平均分和总平均分。 -- Math原创 2021-06-29 10:13:32 · 300 阅读 · 0 评论