嵌入式大杂烩
本博客内容会同步至我的微信公众号【嵌入式大杂烩】欢迎关注!关注并回复【1024】送你一份学习资料包!
【C语言笔记】关于二维数组作为函数参数的问题 【C语言笔记】关于二维数组作为函数参数的问题
在构建过二维数组作为函数的参数时遇到了一个问题。首先,我们看一个函数: void func1(int **array, int m, int n) { int i = 0, j = 0; for ( i = 0; i < m;
2018-10-25
【C语言笔记】static关键字 【C语言笔记】static关键字
参考:https://blog.csdn.net/keyeagle/article/details/6708077?utm_source=copy C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变
2018-10-25
【C语言笔记】数组与指针不等价 【C语言笔记】数组与指针不等价
前言数组与指针是不等价的,如: 数组名不可以改变,而指向数组的指针是可以改变的。 字符串指针指向的字符串中的字符是不能改变的,而字符数组中的字符是可以改变的。 求数组长度时,借用数组名可求得数组长度,而借用指针却得不到数组长度。
2018-10-25
【C语言笔记】关于数组与指针的总结 【C语言笔记】关于数组与指针的总结
参考:C语言中文网 前言数组与指针有很密切的联系,常见的结合情况有以下三种: 数组指针 指针数组 二维数组指针 数组指针数组指针:指向数组的指针。如: int arr[] = {0,1,2,3,4}; int *p = arr;
2018-10-23
【C语言笔记】指针变量的运算 【C语言笔记】指针变量的运算
前言指针变量也是可以进行运算的,如指针变量对其自身加上某个整数或减去某个整数,这在内存上体现为:相对这个指针向后偏移多少个单位或向前偏移了多少个单位,这里的单位与指针变量的类型有关。在32bit环境下,int类型占4个字节,float占4字
2018-10-22
【C语言笔记】结构体内存对齐 【C语言笔记】结构体内存对齐
先看一个结构体: typedef struct Test { char a1; int a2; char a3; short a4; }Test_T; 在32位编译系统下这一个结构体的字节数是多少呢?是1+4+1+2=8字节吗?不是
2018-10-20
【C语言笔记】指针的基本概念 【C语言笔记】指针的基本概念
我们平时定义的变量最终都会保存在内存里,内存的最小存储单位称为内存单元。通常,一个字节称为一个内存单元。而我们定义的变量就保存在这些内存单元里,为了正确地访问这些数据,必须为每个内存单元都编上编号,每个内存单元的编号是唯一的,就像每个人都有
2018-10-19
【C语言笔记】变量的初始值是? 【C语言笔记】变量的初始值是?
一个变量,即使没有给它赋初值,它也是有一个默认初值的。下面来看一段程序: #include <stdio.h> int a1, a2; float b1, b2; char c1, c2; int main(void) { in
2018-10-18
【C语言笔记】volatile关键字 【C语言笔记】volatile关键字
1、volatile的作用volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。 简单地说就是防止编译器对代码进行优化。比如如下程序: XBYTE[2]=0x55; XBYTE[2]=0x56;
2018-10-17
【C语言笔记】复合赋值语句 【C语言笔记】复合赋值语句
增加一个变量的值有两种方式,如:a = a + 5和a += 5。存在两种增加一个变量值的方法有何意义呢?K&R C设计者认为复合赋值符可以让程序员把代码写得更清楚些。另外,编译器可以产生更为紧凑的代码。 现在,a = a + 5和
2018-10-14
【C语言笔记】char *str与char str[]的区别 【C语言笔记】char *str与char str[]的区别
C语言中没有特定的字符串类型,常用以下两种方式定义字符串:一种是字符数组,另一种是指向字符串的指针。如下: (1)char str[] = "happy"; (2)char *str = "happy"; 这种方式有什么不同呢? 示例一:字
2018-10-14
【C语言笔记】C语言编译的过程 【C语言笔记】C语言编译的过程
1、前言如果你使用的是集成开发环境,那么你点击编译按钮就可生成可执行文件,然后点击运行即可运行。那么,你知道从源代码到可执行文件经历了哪些过程吗。仅仅是编译? 下面以windows环境下的test.c为例,test.c里的代码为: #inc
2018-10-14
4 / 5