C语言
文章平均质量分 56
wuhengwudi
我要飞飞飞
展开
-
#pragma pack()改变结构中字节对齐方式
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对(alignment)条件分配空间。各个成员按照它们被声明的顺序在内原创 2011-09-20 16:21:12 · 561 阅读 · 0 评论 -
循环语句中的break和continue区别
break表示跳出循环,continue表示结束本次循环示例程序如下:#include "stdio.h" void main() { int n,m; for(n=1;n<=10;n++) /*这个循环输出1 2 3 4, 在n是5原创 2011-09-20 16:26:24 · 537 阅读 · 0 评论 -
想成为嵌入式程序员应知道的0x10个基本问题
预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1转载 2011-09-22 10:03:20 · 486 阅读 · 0 评论 -
彻底搞定C指针——指向指针的指针
一. 回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示。 内存地址→6 7 8 9 10 11 12 13 1转载 2011-10-20 17:33:07 · 537 阅读 · 0 评论 -
指针函数和函数指针
1.指针函数指针函数:返回指针的函数。形式如下,int *pfun(int, int);其中*的优先级小于(),因此pfun表示为一个函数,函数返回一个指针,指向的内容为int型。2.函数指针函数指针:指向函数的指针变量int (*pfun)(int, int);通过括号强行将pfun首先与“*”结合,也就意味着,pfun是一个指针,接着与后面的“()”结合,说明该指针原创 2011-12-12 20:55:07 · 675 阅读 · 0 评论 -
堆栈指针理解
堆栈指针sp在片内RAM128B中开辟栈区,并随时跟踪栈顶地址。它是按"先进后出"的原则存取数据。开机复位后,单片机栈底地址为07H。主要用来保存临时数据,局部变量和中断/自程序的返回地址。堆栈指针总是指向栈顶元素。所以数据入栈的时候,堆栈指针先加1,再压栈。向上增长方式。和计算机的方式一样。出栈的时候先弹出数据,堆栈指针再减1。 如果堆栈的实现是往上长的(就是说往顶原创 2011-12-16 10:25:28 · 9350 阅读 · 0 评论 -
数组中,一个数出现一次,其余的数都出现2次,找出那个出现一次的数
要求如题所示。示例源代码如下所示#include #include int Findsigle(int a[],int n);int buff[21]={1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11};int main(void){ int result=0; result=Findsigle(bu原创 2012-01-11 19:10:05 · 836 阅读 · 0 评论 -
指针和数组名的区别
指针和数组名有如下区别:区别1 数组名指代一种数据结构,这种数据结构就是数组;char str[20];char *p=str;printf("%d \n",sizeof(str));//20printf("%d \n",sizeof(p));//4str指代数据结构——20个元素的char型数组。区别2 数组名可以转换为指向其指代实体的指针,而且是一个指针常量,不能作原创 2012-03-11 21:42:05 · 2676 阅读 · 3 评论