![](https://img-blog.csdnimg.cn/20200120115203588.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言基础
文章平均质量分 71
C语言基础----防备忘
秋山刀名鱼丶
一年之内毫无半点成绩,想起来做人真是没趣。
展开
-
【单片机、硬件调试】嵌入式调试bug记录
【单片机、硬件调试】嵌入式调试bug记录原创 2024-05-13 09:42:43 · 464 阅读 · 0 评论 -
【面试】嵌入式C语言题目整理
C语言面试原创 2023-04-30 23:02:24 · 900 阅读 · 0 评论 -
C语言结构体字节对其规则简述
c语言字节对齐原创 2022-12-30 22:59:11 · 793 阅读 · 0 评论 -
C语言基础知识
C记录。原创 2022-10-24 09:35:43 · 239 阅读 · 0 评论 -
【非专业浅谈】一、二维数组、指针数组、数组指针的含义以及使用(防备忘)
数组 | 指针数组 | 数组指针一维数组含义用法指针数组含义用法二维数组 | 数组指针含义用法一维数组含义这个比较基础,顾名思义即可。定义 int p[5]; 数组包含5个元素,每一个元素都是int型的数据。用法如何用指针去表示它?我们知道,数组名即为指向数组的指针,这样说也可以,但不是很准确。例如,上面的数组名p,p只是指向了p[0]这个数据的指针,p+1指向了p[1]这个数据的指针…之后的以此类推即可。那么,我们想要用p这个指针如何取到数组中的int数呢?就是这样:*p即p原创 2020-08-25 22:37:36 · 172 阅读 · 0 评论 -
-32768的补码是多少?这次终于清楚了!
要想读懂下面,你的先知道具备原码、反码、补码的基础知识。我只要是对-32768的补码有疑惑,遂就只写这个了。原创 2020-04-19 12:06:20 · 5822 阅读 · 4 评论 -
C语言之指向函数的指针----防备忘
C语言之指向函数的指针----防备忘编程的时候,写的函数,每一个函数都有一个对应的地址。我们可以设置指向该函数的指针。(1)指向函数的指针int max(int temp){ printf("运行max:temp=%d\n",temp); return temp;}int main(){ int (*p)(int); //①定义的指向函数的指针:返回值类型和参数类型...原创 2020-03-11 22:31:19 · 118 阅读 · 0 评论 -
C语言之小数四舍五入问题----防备忘
C语言之小数四舍五入问题----防备忘直接上代码: float x=67.8546; float y=67.8556; int a; a=(int)x; printf("%d\n",a); printf("%5.2f\n",x); printf("%5.2f\n",y);结果:6767.8567.86结论:(1)如果直接对小数进行强制转换,则不会触发四舍五入;...原创 2020-02-23 10:18:20 · 1554 阅读 · 0 评论 -
C语言之指针理解篇----防备忘
C语言之指针理解篇----防备忘指针这个东西,ε=(´ο`*)))唉!指针变量是占用存储空间的。int *a;这个东西是占用内存空间的,至于占用多少,自己去用sizeof去算。定义个指针变量之后,它必须先指向一个地址,才能往它指向的地址里放数值。还有下面这个东西:void fun(int *a,int *b){ a=b;}int main(){ int *a=NULL;...原创 2020-02-04 18:12:46 · 135 阅读 · 0 评论 -
C语言之位段【节省空间】----防备忘
C语言之位段【节省空间】----防备忘在表示单片机的控制位的某些时,有时一个字节占用不完。只用到几个位既可以表示。有时候,会用到位段这种数据结构;typedef struct student{ unsigned int a:3; //范围为0-7 省略int,也行 unsigned b:2; //范围为0-2 unsigned char c:4; //范围为0-15 u...原创 2020-01-22 11:51:30 · 223 阅读 · 0 评论 -
C语言之位运算符的妙用【持续总结】----防备忘
C语言之位运算符的妙用【持续总结】----防备忘& 按位与用例数据清零01011010 & 00000000 = 0数据取高字节or低字节01011010 & 00001111 = 00001010(取低4位)数据取某指定位01011010 & 01010110 = 01010000(取1/2/4/6位)l ...原创 2020-01-21 21:36:04 · 255 阅读 · 0 评论 -
C语言之输入、输出基础知识----防备忘
C语言之输入、输出基础知识----防备忘C语句备注控制语句if…else…、for、while、do…while、conutinue、break、switch、goto、return函数调用语句由一个函数调用加一个分号构成表达式语句由一哥表达式加一个分号构成空语句;只有一个分号复合语句字符输入输出函数用法putc...原创 2020-01-21 16:23:06 · 274 阅读 · 0 评论 -
C语言之基础知识----防备忘
C语言之基础知识----防备忘序号知识点----整型1C语言的标识符,只能由字母、数字和下划线组成,且第一个字符必须为字母或者下划线2大写字母和小写字母认为是两个不同的字符3计算机内存中,整数是以补码的形式存在的4正整数:原码、反码、补码相同; 原码即为十进制转为二进制5负整数:原码,符号位为1。反码,符号位为1,其余位取反。补码,反码+...原创 2020-01-20 17:20:12 · 161 阅读 · 0 评论 -
C语言之数据类型内存大小【vc++6.0】----防备忘
C语言之基础知识----防备忘#include<stdio.h>int main(){ printf(" 测试系统:WIN10 64位版本\n"); printf(" VC++6.0中个数据类型占用内存字节大小\n"); printf("char=%d\n",sizeof(char)); printf("short=%d\n",sizeof(sho...原创 2020-01-20 14:41:49 · 513 阅读 · 0 评论 -
C语言之运算符基础----防备忘
C语言之运算符基础----防备忘优先级运算符备注结合方向1()、[ ] 、-> 、.优先级最高2!、 ~ 、++ 、-- 、- 、(类型强转) 、*、&、sizeof①唯一单目运算符②!逻辑非运算符③~按位取反运算符④*指针运算符自右至左3*、/、%算数运算符4.+、-算数运算符5<<、&g...原创 2020-01-19 16:33:38 · 170 阅读 · 0 评论 -
C语言之预处理命令基础----防备忘
C语言之共用体基础----防备忘C语言的预处理命令:①宏定义②文件包含③条件编译1.宏定义----#define①不带参数的宏定义#define PI 3.1415926//①宏名一般习惯大写;//②宏定义只是简单的字符串替换,不做正确性检查,且不分配内存空间;//③宏定义不是C语句,末尾不必添加分号;#define CirCle PI*3//④宏定义可以层层置换②...原创 2020-01-19 14:06:06 · 159 阅读 · 0 评论 -
C语言之枚举类型基础----防备忘
C语言之枚举类型基础----防备忘【注】:①如果一个变量,只能有几种可能的值,则可以定义为枚举类型;1.枚举类型定义enum weekday{sun,mon,tue,wed,thu,fri,sat}; //类型定义enum weekday Total; //定义枚举变量//如不指定{}n内枚举元素的大小,则第一个元素为0,之后元素自增1;//即sun=0,tue=2...s...原创 2020-01-19 10:46:00 · 167 阅读 · 0 评论 -
C语言之共用体基础----防备忘
C语言之共用体基础----防备忘【注】:①共用体变量所占的内存长度等于最长的成员的长度;②几个成员变量共同占用同一段内存;③共用体用来做什么?单片机中数据发送的时候,占用同一片地址,进行数据发送,十分方便;1.共用体定义eg:typedef union student{ 基本类型1; 基本类型2; ...}stu;2.共用体嵌套结构体eg:typedef str...原创 2020-01-19 10:07:05 · 152 阅读 · 0 评论 -
C语言之结构体基础----防备忘
C语言之结构体基础----防备忘1.结构体定义 typedef struct 结构体名 { 基本类型}结构体替换名;结构体替换名 变量1,变量2;eg:typedef struct student{ int obj[5]; char toa;}stu;stu obj1,obj2;2.结构体嵌套 typedef struct 结构体名1{ 基本类型}结构...原创 2020-01-18 20:53:09 · 175 阅读 · 0 评论 -
C语言之变量、数组、字符串、函数与指针以及对应形参、实参用例介绍----防备忘
以下为不专业总结,供自己回忆。单个变量定义形参实参char obj(int、float、double)char *a;a=&obj;void fun(char *a)【函数内数数值表示:*a】void fun(&obj)一维数组(数组名即为指针)定义形参实参char obj[5] (int、float、double)c...原创 2020-01-18 15:10:00 · 417 阅读 · 0 评论 -
C语言之一维、二维数组(指针)、数组指针、指针数组表示----防备忘
一维数组指针形式赋值指针含义int obj[5]objint *pz;pz=obj;指向一个int类型的指针二维数组指针形式赋值指针含义int obj[5][4]objint (*pz)[4 ](数组指针); pz=obj;指向含有四个int类型的一维数组数组指针指针形式含义多与二维数组使用int (...原创 2020-01-17 13:40:50 · 710 阅读 · 0 评论 -
关于 !1、!0、!(-1) 的疑惑
!1=false !0=true !(-1)=flase原创 2017-09-03 16:47:15 · 1660 阅读 · 0 评论 -
STM32报错、报错状况以及解决办法:Library reports error: __use_no_semihosting was requested, but _ttywrch was refer
在写STM32程序的时候 ①我用到了#include “stdlib.h”这个头文件,里面包括一些malloc、exit、free等函数; ②我是用的正点原子的官方usart函数文件。 在这样的前提下出现错误: Library reports error: __use_no_semihosting was requested, but _ttywrch was referenced解决办法原创 2017-09-04 16:55:00 · 10049 阅读 · 5 评论 -
C语言中volatile关键字的作用
本文为转载总结文章:点击进入原地址用volatile修饰变量的时候,意指系统总是重新从它所在的内存读取数据。遇到这个关键字声明的变 量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 举一个容易理解的例子:volatile int i=10; int j = i; ... int k = i; 由于编译器发现两次从i读数据的代码之间的代码没有对i进行过操作转载 2017-08-03 20:38:23 · 317 阅读 · 0 评论 -
验证STM32是小端存储
最近写STM32程序,用到了共用体,由此,引发了疑问。 比如:将0x12345678存储到一个U32类型的变量里面。大端和小端分别是这样存储的。 大端存储: 低地址 …… 高地址 0x 12 34 56 78小端存储: 低地址 ……原创 2017-05-07 14:45:46 · 1115 阅读 · 1 评论 -
关于static静态变量的理解以及C中的内存区的分配
static静态变量 1、局部变量:在一个函数中,定义一个static的静态变量,它是存储在静态存储区。该变量只是在该函数第一次运行时完成初始化,若再次在调用这个函数,它不会再执行这句语句。它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。 #include <stdio.h> int displ原创 2016-10-07 15:57:59 · 6080 阅读 · 0 评论