C语言
贝萝岗的小蚂蚁
目标是星辰大海
展开
-
C语言之位运算(IO操作,变量交换)
C语言之位运算(IO操作,变量交换)基本运算符&:按位与;|:按位或;^:按位异或;~:取反;<<:左移;>>:右移;应用1:IO位运算实现单个IO的操作P2OUT |= BIT2;//将bit2赋值为1.不影响其他位P2OUT &=~ BIT2;//将bit2赋值为0.不影响其他位P2OUT ^= BIT2;//将bit2...原创 2019-06-01 10:00:38 · 641 阅读 · 0 评论 -
MSP430之共用体中结构体字节对齐问题
MSP430之共用体中结构体字节对齐问题先上代码:我所用的平台的字节对齐默认是2字节,下面////////之间的变量定义为7个字节,为了保证2字节对齐,Power变量就会自动扩展一个字节,但是变量类型又是一个字节,所以发生了字节偏移的情况。typedef union _PARARW{ struct{ UINT8 Name[24]; /////////////////////////...原创 2019-06-28 20:33:51 · 681 阅读 · 0 评论 -
MSP430之枚举变量大小
MSP430之枚举变量大小一直都很好奇枚举变量到底是如何让占用存储空间的,网上好多文章都说是占用int字节的大小,但是今天测试了一下,发现不是那么回事。操作系统:WIN7 64bitIDE:IAR 5.5实验平台: MP430F4793先说结论:实际使用发现枚举变量的大小并不是固定不变的,而是跟随成员的取值范围而变化,并且枚举变量为2个字节(正好是MSP430字节对齐的大小)时,...原创 2019-06-28 19:46:13 · 446 阅读 · 0 评论 -
C语言之大端小端问题
C语言之大小端问题释义大端:高位存在低地址,低位存在高地址;小端:高位存在高地址,低位存在低地址;(intel的x86,ARM普遍都是属于小端)举例如果我们将0x12345678写入到以0x0000开始的内存中,则结果为: big-endian little-endian 0x0000 0x12 ...原创 2019-06-28 19:28:02 · 714 阅读 · 0 评论 -
C语言之指针变量定义
C语言之指针变量定义int a; //an integer//一个整型数int *a; //A pointer to an integer//一个指向整型数的指针int **a; //A pointer to a pointer to an integer//一个指向指针的指针,它指向的指针是指向一个整型数int a[10]; //An array of 10 integers...原创 2019-06-04 10:46:27 · 715 阅读 · 0 评论 -
C语言之数据溢出
C语言之数据溢出想想成一个圆就好了:以int举例:int i = 32767;i++; //结果是i = -32768;int i = -32768;i--; //结果是i = 32767;unsigned int i = 65535;i++; //结果是i = 0;unsigned int i = 0;i--; //结果是i = 65535;...原创 2019-06-04 10:14:21 · 1727 阅读 · 4 评论 -
C语言之const,#define,static,volatile
C语言之const,#define,static,volatile原创 2019-06-05 16:44:06 · 537 阅读 · 0 评论 -
C语言之数组
C语言之数组tips:1.定义数组 int a[10];不存在数组元素a[10];2.允许常量表达式,如int a[3+5];3.不允许对数组大小作动态定义,如int n;scanf("%d",&n);int a[n];4.数组初始化:如果数组是全局变量,数组成员会自动初始化为0;如果数组是局部变量:·····只要对数组成员进行了初始化赋值,那么其他成员会自动初始化...原创 2019-06-03 14:54:23 · 884 阅读 · 0 评论 -
C语言之指针
C语言之指针基础知识1.*在不同场景的意义int a,*p; //这里的*是指 指针变量说明符p=&a;*p=a; //这里的*是一个单目运算符,为取内容运算符,就是取指针变量p所存放的地址所对应的变量2.指针变量的运算包括赋值运算,加减运算,关系运算(可赋空值NULL)赋值运算1.把数组的首地址赋值给指向数组的指针变量int a[5],*p;p=a;//数组名就是...原创 2019-06-03 11:28:00 · 438 阅读 · 0 评论 -
C语言之指针在函数调用中的应用
C语言之指针在函数调用中的应用存放变量的地址就是指针,指针的指针就是指针变量直接上代码:int a = 3,b = 4;point_1 = &a;point_2 = &b;Swap1(point_1,point_2);void Swap1( int *i, int *j){ int t; t=*i; *i=*j; *j=t; }voi...原创 2019-06-01 13:44:31 · 6151 阅读 · 0 评论