专注于嵌入式技术分享!
【C语言】关于有符号数与无符号数的一些总结 【C语言】关于有符号数与无符号数的一些总结
1、有、无符号数之间的运算有符号数与无符号数之间的运算,编译器会进行隐式类型转换。 请看如下代码: #include <stdio.h> int main(void) { unsigned int a =
2018-10-30
【C语言】static关键字 【C语言】static关键字
C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源程序中定义一次,如果有重复定义的话编译器就会报错。 伴随着不同源文件变量和函数之间的相互引用以及相互独立的关系,产生了ext
2018-10-25
【C语言】关于二维数组作为函数参数的问题 【C语言】关于二维数组作为函数参数的问题
在构建过二维数组作为函数的参数时遇到了一个问题。首先,我们看一个函数: void func1(int **array, int m, int n) { int i = 0, j = 0; for (
2018-10-25
【C语言】数组与指针不等价 【C语言】数组与指针不等价
前言数组与指针是不等价的,如: 数组名不可以改变,而指向数组的指针是可以改变的。 字符串指针指向的字符串中的字符是不能改变的,而字符数组中的字符是可以改变的。 求数组长度时,借用数组名可求得数组长度,而借用指针却得不到数组长度。
2018-10-25
【C语言】关于数组与指针的总结 【C语言】关于数组与指针的总结
前言数组与指针有很密切的联系,常见的结合情况有以下三种: 数组指针 指针数组 二维数组指针 数组指针数组指针:指向数组的指针。如: int arr[] = {0,1,2,3,4}; int *p &#x
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
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) &
2018-10-18
【C语言】volatile关键字 【C语言】volatile关键字
1、volatile的作用volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。 简单地说就是防止编译器对代码进行优化。比如如下程序: XBYTE[2]=0x55; XBYTE[2]&
2018-10-17
【C语言笔记】C语言编译的过程 【C语言笔记】C语言编译的过程
1、前言如果你使用的是集成开发环境,那么你点击编译按钮就可生成可执行文件,然后点击运行即可运行。那么,你知道从源代码到可执行文件经历了哪些过程吗。仅仅是编译? 下面以windows环境下的test.c为例,test.c里的代码为: #in
2018-10-14
【C语言】char *str与char str[]的区别 【C语言】char *str与char str[]的区别
C语言中没有特定的字符串类型,常用以下两种方式定义字符串:一种是字符数组,另一种是指向字符串的指针。如下: (1)char str[] = "happy"; (2)char *str = "
2018-10-14
【C语言】extern关键字 【C语言】extern关键字
extern关键字可以用来声明变量和函数作为外部变量或者函数供其它文件使用。 extern声明变量示例程序:test.h如下: //声明 extern int a; extern int b; test.c如下: #
2018-10-13
【C语言】内存笔记 【C语言】内存笔记
C语言程序需要载入内存才可以运行,其不同的数据保存在不同的区域。所使用的内存可以分成两类:一类是静态存储区,另一类是动态存储区。 C语言程序的存储区如下图所示: 1、静态存储区静态存储区分为三类:只读数据区(RO Data)、已初始化读
2018-10-12
【C语言】#define与typedef的区别? 【C语言】#define与typedef的区别?
1、#definedefine是预处理指令,在编译时不进行任何检查,只进行简单的替换 宏定义的一般形式为: #define 宏名 字符串 这里所说的字符串是一般意义上的字符序列,不要和C语言中的字符串等同,它不需要双引号。 2、typed
2018-10-11
【C语言】getchar()、getche()、getch()的区别 【C语言】getchar()、getche()、getch()的区别
1、getchar()函数所在头文件:stdio.h 函数原型:int getchar(void); 函数功能:读取控制台输入的字符,并保存在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。 看一段代码: #include &
2018-10-11
【C语言】使用notepad++、MinGW来开发C程序 【C语言】使用notepad++、MinGW来开发C程序
Windows平台下C程序的集成开发工具有很多: 1、Visual C++6.0Visual C++是Microsoft公司推出的用于开发C/C++程序的一款经典的IDE,很多高校都使用其作为教学工具来讲解C和C++。但是,Vi
2018-10-05
【C语言笔记】main()函数的几种形式 【C语言笔记】main()函数的几种形式
在C语言中,main函数是程序的入口。其有四种写法,即: //写法一 main() { printf("Hello notepad++ \n"); } //
2018-10-02
14 / 15