![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C Language
C
G.R.I.T.
公众号:硅特嵌入式
展开
-
结构体内存对齐规则
第一个成员在与结构体变量偏移量为0的地址处。其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。对齐数 = 编译器默认的一个对齐数 与 该成员大小的较小值。VS中默认的值为8结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。原创 2023-03-28 11:31:50 · 415 阅读 · 1 评论 -
求一个整数存储在内存中的二进制中1的个数
【代码】求一个整数存储在内存中的二进制中1的个数。原创 2023-03-23 15:40:35 · 332 阅读 · 0 评论 -
C语言数组之间赋值详解
数组之间的赋值,C语言数组之间赋值详解 (biancheng.net)原创 2021-08-06 17:23:12 · 1642 阅读 · 0 评论 -
C语言冒泡排序算法详解
冒泡排序是最简单的排序方法,理解起来容易。虽然它的计算步骤比较多,不是最快的,但它是最基本的,初学者一定要掌握。冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。比如对下面这个序列进行从小到大排序:...原创 2021-05-28 22:57:08 · 820 阅读 · 0 评论 -
Markdown基础语法
Markdown基本语法 - 简书 (jianshu.com)原创 2021-05-07 23:41:03 · 71 阅读 · 0 评论 -
Markdown中文文档
Markdown 中文文档 (markdown-zh.readthedocs.io)原创 2021-05-07 23:33:41 · 834 阅读 · 0 评论 -
Markdown教程
Markdown 教程 Markdown 标题 Markdown 段落格式 Markdown 列表 Markdown 区块 Markdown 代码 Markdown 链接 Markdown 图片 Markdown 表格 Markdown 高级技巧原创 2021-05-07 23:25:36 · 43 阅读 · 0 评论 -
指针函数和函数指针
概述https://blog.csdn.net/u010280075/article/details/88914424指针函数和函数指针是C语言里两个比较绕的概念。但是不仅面试题爱考,实际应用中也比较广泛。很多人因为搞不清这两个概念,干脆就避而远之,我刚接触C语言的时候对这两个概念也比较模糊,特别是当指针函数、函数指针、函数指针变量、函数指针数组放在一块的时候,能把强迫症的人活活逼疯。其实如果理解了这些概念的本质,是不需要死记硬背的,理解起来也比较容易。指针函数指针函数: 顾名思义,它的本质是一个原创 2021-05-07 10:38:33 · 51 阅读 · 0 评论 -
C语言函数库
C语言函数库1.C语言库函数大全<assert.h>头文件1.C语言assert()函数: 断言一个表达式是否正确<ctype.h>头文件1.C语言isascii()函数:判断字符是否为ASCII码 2.C语言isalnum()函数:判断字符是否为字母或数字 3.C语言isalpha()函数:判断字符是否为英文字母 4.C语言iscntrl()函数:判断字符是否为控制字符 5.C语言isdigit()函数:判断字符是否为十进制数字 6.C语言isgraph.原创 2021-05-06 00:15:57 · 510 阅读 · 0 评论 -
C语言中的__FILE__、__LINE__和__func__等预定义跟踪调试
C语言中的__FILE__、__LINE__和__func__等预定义跟踪调试_行者三个石的博客-CSDN博客原创 2021-04-29 10:10:21 · 130 阅读 · 0 评论 -
fopen()、fread()、fwrite()、fseek()、fclose();
fopen();C 库函数 – fopen() | 菜鸟教程 (runoob.com)fread();C 库函数 – fread() | 菜鸟教程 (runoob.com)fwrite();C 库函数 – fwrite() | 菜鸟教程 (runoob.com)fseek();C 库函数 – fseek() | 菜鸟教程 (runoob.com)fclose();C 库函数 – fclose() | 菜鸟教程 (runoob.com)...原创 2021-04-29 09:57:47 · 176 阅读 · 0 评论 -
关于 strlen 与 sizeof 的区别
https://blog.csdn.net/zhengqijun_/article/details/51815081原创 2021-04-29 09:36:58 · 57 阅读 · 0 评论 -
GCC命令汇总
https://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.htmlhttps://www.cnblogs.com/20175211lyz/p/11565047.htmlhttps://www.cnblogs.com/linuxAndMcu/p/11226900.html原创 2021-04-28 16:23:35 · 98 阅读 · 0 评论 -
C语言(预处理、编译、汇编、链接)
https://blog.csdn.net/chen1415886044/article/details/104537547原创 2021-04-28 16:20:03 · 66 阅读 · 0 评论 -
c语言结构体指针初始化
https://www.cnblogs.com/losesea/archive/2012/11/15/2772526.html原创 2021-04-22 23:23:26 · 193 阅读 · 0 评论 -
c语言函数指针的理解与使用
https://www.cnblogs.com/haore147/p/3647262.html原创 2021-04-22 23:22:02 · 42 阅读 · 0 评论 -
基本数据结构-顺序表和链表
https://www.cnblogs.com/bobo-zhang/p/10529330.html原创 2021-04-22 23:17:08 · 53 阅读 · 0 评论 -
链表
https://www.cnblogs.com/yuyujuan/p/14037040.html原创 2021-04-22 23:15:23 · 42 阅读 · 0 评论 -
C语言内存四区
https://www.cnblogs.com/letben/p/5236674.html原创 2021-04-22 15:26:33 · 54 阅读 · 0 评论 -
C语言知识整理(3):内存管理(详细版)
https://www.cnblogs.com/yif1991/p/5049638.html原创 2021-04-22 15:24:47 · 107 阅读 · 0 评论 -
C 语言中 static 的作用
在 C 语言中,static 的字面意思很容易把我们导入歧途,其实它的作用有三条。https://www.runoob.com/w3cnote/c-static-effect.html(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加 static 前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是 a.c,另一个是 main.c。下面是 a.c 的内容:a.c 文件代码chara='A';// gl...原创 2021-04-14 09:37:40 · 148 阅读 · 0 评论 -
C 库函数 - snprintf()
描述https://www.runoob.com/cprogramming/c-function-snprintf.htmlC 库函数int snprintf(char *str, size_t size, const char *format, ...)设将可变参数(...)按照 format 格式化成字符串,并将字符串复制到 str 中,size 为要写入的字符的最大数目,超过 size 会被截断。声明下面是 snprintf() 函数的声明。int snprintf ( cha..原创 2021-04-09 12:23:05 · 154 阅读 · 0 评论 -
冒泡排序法(C语言)
冒泡排序(Bubble Sort)https://www.cnblogs.com/pufan/p/12049656.html一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡原创 2021-03-09 22:37:57 · 126 阅读 · 0 评论 -
简易计算器之模块化设计
可以结合.c .h文件说明来看//main.c#include<stdio.h>#include"jisuanqi.h"int main(){ while(1) { int a,b; char temp; printf("请输入两个待处理的数字:\n"); scanf("%d%d",&a,&b); printf("请输入双目操作符(+、-、*、/):\n"); getchar (); temp=getchar (); swit.原创 2021-02-16 12:58:47 · 1154 阅读 · 0 评论 -
C语言之.c .h文件的规范说明
这段时间发现大多C语言的初学者,都会被一个问题困扰,那就是.c源文件和.h头文件到底应该都写什么?例如:int fd_gprs,这个整型全局变量,是应该写到.c文件,还是.h文件中,等等。我们这里就简单说明下,.h头文件和.c源文件都应该写什么。在C语言编程中,我们会将要实现的应用写成.c文件;系统级的应用,我们会写成含有main函数的.c文件,来实现系统级的函数调用,已达成我们所要的功能;具体的各个功能模块,我们习惯写成单独的.c文件,然后在主程序main函数之前,会include到所需模块的.h头文转载 2021-02-16 12:58:01 · 4316 阅读 · 1 评论 -
C 标准库 - <float.h>
简介C 标准库的float.h头文件包含了一组与浮点值相关的依赖于平台的常量。这些常量是由 ANSI C 提出的,这让程序更具有可移植性。在讲解这些常量之前,最好先弄清楚浮点数是由下面四个元素组成的:组件 组件描述 S 符号 ( +/- ) b 指数表示的基数,2 表示二进制,10 表示十进制,16 表示十六进制,等等... e 指数,一个介于最小值emin和最大值emax之间的整数。 p 精度,基数 b 的有效位数 基于以上 4 个组成...转载 2021-02-14 11:13:14 · 448 阅读 · 0 评论 -
C 标准库 - <limits.h>
简介limits.h头文件决定了各种变量类型的各种属性。定义在该头文件中的宏限制了各种变量类型(比如 char、int 和 long)的值。这些限制指定了变量不能存储任何超出这些限制的值,例如一个无符号可以存储的最大值是 255。库宏下面的值是特定实现的,且是通过 #define 指令来定义的,这些值都不得低于下边所给出的值。宏 值 描述 CHAR_BIT 8 定义一个字节的比特数。 SCHAR_MIN -128 定义一个有符号字符的最小值。.转载 2021-02-14 11:13:31 · 602 阅读 · 0 评论 -
C语言之static
1.static全局变量与全局变量https://www.cnblogs.com/zhangjiansheng/p/7511014.html static 全局变量:只对本文件生效,可以使用,本工程其他文件不可见,不能使用。存放在全局数据区。 全局变量:全局变量只要加上extern,则对本工程全部文件有效。2.static局部变量与局部变量 static局部变量:存放在全局数据区,只对本函数有效。 局部变量:存放在局部数据区,只对本函数有效。3.static函数与函数转载 2021-02-05 10:59:13 · 165 阅读 · 0 评论 -
C语言之变量的存储类型
在C语言中,对变量的存储类型说明有以下四种:https://www.cnblogs.com/grooovvve/p/9782550.htmlauto 自动变量register 寄存器变量extern 外部变量static 静态变量自动变量和寄存器变量属于动态存储方式,外部变量和静态变量属于静态存储方式。在介绍了变量的存储类型之后,可以知道对一个变量的说明不仅应说明其数据类型,还应说明其存储类型。因此变量说明的完整形式应为:存储类型说明符数据类型说明符变量..转载 2021-02-05 10:56:05 · 1901 阅读 · 0 评论 -
C语言之<stdarg.h>库说明(二)
简介https://www.nowcoder.com/tutorial/10002/e388f5a3ae21431f8ef95a75538eecd6stdarg.h头文件定义了一个变量类型va_list和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数。可变参数的函数通在参数列表的末尾是使用省略号(,...)定义的。库变量下面是头文件 stdarg.h 中定义的变量类型:序号 变量 & 描述 1 va_list这是一个适用于va_...转载 2021-02-04 21:14:05 · 258 阅读 · 0 评论 -
C语言之<stdarg.h>库说明(一)
C语言不支持函数重载,但支持可变参数。在 stdarg.h 中提供了3个方法和1个结构。struct va_list,参数列表void va_start(va_list,int); 访问参数前的准备工作void va_arg(va_list,void);访问参数,注意参数中的void指数据类型,实际调用时应该是int,float,char等void va_end(va_end);访问结束后清理工作使用过程#include <stdio.h>#include &l.转载 2021-02-04 21:12:44 · 375 阅读 · 0 评论 -
C语言参数传递——实参与形参
在C语言中,关于形参与实参说明如下。https://www.cnblogs.com/reddercell/p/12168851.html1)形参是变量,但是函数被调用时才被分配内存。当函数执行完毕返回时,形参占用的内存空间又被释放。2)实参可以是变量、常量和表达式,但实参必须有确定的值。3)形参和实参的类型必须一致。4)对应的实参和形参是两个独立实体,它们之间只有单向的值的传递,即实参的值传递给形参。形参的值在函数中不论怎么改变,都不会影响实参。以上来自 C语言程序设计(第三版)/杨路.转载 2021-02-04 18:18:19 · 5028 阅读 · 0 评论 -
C语言之形参与实参
目录https://www.cnblogs.com/zzx123/p/10527889.html形参与实参1.形参和实参是什么2.形参和实参的区别3.形参与实参知识点3.1实参的值不随形参的变化而变化**3.2.实参传递给形参的参数个数类型和顺序都应相同,否则会系统强制转换,出现数据丢失或者“类型不匹配”的错误3.3如果实参是数组名,那么形参传递的之就是地址的值形参与实参今天我们来说下c语言形参与实参的区别,形参跟实参理解的话也很简单,但是好多同学关于这个知识点都是一知.转载 2021-02-04 18:17:38 · 536 阅读 · 0 评论 -
C语言之解引用
在《C和指针》上面看到“解引用”这个名词,就好奇的去查了查。https://www.cnblogs.com/Mayfly-nymph/p/8213837.html例: 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main(void) 5 { 6 int a=10; 7 int *p=&a; 8 *p=5;//这就是一个解引用 9 system("PAUSE")转载 2021-02-03 21:21:11 · 1944 阅读 · 0 评论 -
C语言中const的应用
const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰的对象为常量(immutable)。我们来分情况看语法上它该如何被使用。https://www.cnblogs.com/zclm/p/6618604.html1、函数体内修饰局部变量。例:void func(){ const int a=0;}首先,我们先把const这个单词忽略不看,那么a是一个int类型的局部自动变量,我们给它赋予初始值0。然后再看const.const作为一个类型限定词转载 2021-02-03 21:01:39 · 147 阅读 · 0 评论 -
打印乘法口诀之设计
参考代码:#include <stdio.h>int main(){ int i,j; for(i=1;i<10;i++) { for(j=1;j<=i;j++) printf("%d*%d=%-4d",i,j,i*j); printf("\n"); } return 0;}结果:原创 2021-01-25 20:30:24 · 85 阅读 · 1 评论 -
getchar()和putchar()说明
1.putchar()作用:输出一个字符格式:putchar(c),c为输出参数#include <stdio.h>int main(){ char a1='A',b1='B'; int a2=65,b2=66; putchar(a1); putchar(b1); putchar('\n'); //换行符也是一个字符 putchar(a2); //输出为A,即该函数会自动强制转化为char型 putc.转载 2021-01-24 21:38:20 · 782 阅读 · 0 评论 -
goto、break和continue区别:
break和continue区别:原创 2021-01-23 14:03:03 · 636 阅读 · 1 评论 -
C语言中++和--之前置后置的说明
++i理解:先将 i 自加1,再计算;i++理解:i的值先不变,然后紧接着加 1 ;--i理解:先将 i 自减1,再计算;i--理解:i的值先不变,然后紧接着减 1 ;例:#include <stdio.h>int main(){ int i=3; printf("%d\n",++i);//S1:i=i+1;(此时i=4) S2:printf("%d\n",i);(此时i=4) printf("%d\n",++i);//S1:i=i+1;(原创 2021-01-22 21:07:22 · 602 阅读 · 0 评论 -
C语言之那些你不知道的知识
目录定义常量:#define 预处理器const 关键字定义常量:在 C 中,有两种简单的定义常量的方式:使用#define预处理器。 使用const关键字。#define 预处理器下面是使用 #define 预处理器定义常量的形式:#define identifier value具体请看下面的实例:#include <stdio.h>#define LENGTH 10 #define WIDTH 5#define NE...原创 2021-01-22 17:31:37 · 246 阅读 · 0 评论