
CC 语言
文章平均质量分 56
lsnail
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
跨越数据类型的重重陷阱
数据类型是编程语言中最基本的构成元素,但却是最易被忽略的一环,程序员愿意把几乎100%的精力都花在算法研究、程序流控制等大环节上,却很少在数据类型问题上反复斟酌。 细节决定成败,一个螺丝钉的失误可能导致一个飞行器的毁灭,一个数据类型的错误同样可以让庞大的软件系统崩溃。 MISRA—c中关于数据类型的规则主要分为两个方面。一是数据类型相关的编程风格;二是不同数据类型之间的转换,原创 2014-01-26 15:58:08 · 711 阅读 · 0 评论 -
int变量在16位系统下是2个字节,在…
int变量在16位系统下是2个字节,在32位下是4个字节;而float变量在16位系统下是4个字节,在32位下也是4个字节原创 2014-01-26 16:00:49 · 1404 阅读 · 0 评论 -
#define A (* (volatile unsigned …
#defineA (*(volatile unsigned long *) 0x48) // 8位处理#define A (*(volatile unsigned long *) 0x48000000) // 32位处理器对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的。如果系统结构支持独立的IO地址空间,并且是端口映射,就必须使用汇编语言完成实原创 2014-01-26 15:59:20 · 448 阅读 · 0 评论 -
__align(num)
__align(num)这个用于修改最高级别对象的字节边界。在汇编中使用LDRD或者STRD时 就要用到此命令__align(8)进行修饰限制。 来保证数据对象是相应对齐。 这个修饰对象的命令最大是8个字节限制,可以让2字节的对象进行4字节 对齐,但是不能让4字节的对象2字节对齐。 __align是存储类修改,他只修饰最高级类型对象不能用于结构或者函数对象。例:__al原创 2014-01-26 15:59:17 · 1147 阅读 · 0 评论 -
C++中的容器类
C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。vector,这是一种大小可变的微量,比较灵活.list,这是一个双向链表容器,完成了标准的C++数据结构中鍡的所有功能.queue,这是一种原创 2014-01-26 16:02:25 · 575 阅读 · 0 评论 -
约瑟夫环链表
#include "stdio.h"#include typedef int ElemType;typedef struct node{ ElemType data; struct node *link;}LNode,*LinkList;void JOSEPHUS(int n,int m,int k){ LinkList p ,r,list=NULL; int原创 2014-01-26 16:00:54 · 889 阅读 · 0 评论 -
求开方的函数
double _sqrt(double a){ double x1 = 0.0; double x2 = a/2; while(x1!= x2) { x1 = x2; x2 = (x1+a/x1)/2; } cout return x1;原创 2014-01-26 16:00:16 · 928 阅读 · 0 评论 -
sizeof(结构体)和内存对齐
sizeof(结构体)和内存对齐2007年10月4日 king 发表评论 阅读评论有的时候,在脑海中停顿了很久的“显而易见”的东西,其实根本上就是错误的。就拿下面的问题来看:struct T{char ch;int i ;};使用sizeof(T),将得到什么样的答案呢?要是以前,想都不用想,在32位机中,int是4个字节,char是1个字节,所以T一共是5个字节。实践出原创 2014-01-26 15:59:58 · 444 阅读 · 0 评论 -
(C小程序)三种数值交换方式的比…
采用以下三种方法交换数据:void swap1(int&a,int& b){int temp=a; //使用局部变量temp完成交换a=b;b=temp;};void swap2(int&a,int& b){a=a+b; //使用加减运算完成交换b=a-b;a=a-b;}void swap3(int&a,int& b){a^=b; //使用异或运算完成交换b^原创 2014-01-26 15:59:56 · 661 阅读 · 0 评论 -
(C语言整理) C语言中的运算符及…
C语言中的运算符及其优先级 优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.原创 2014-01-26 15:59:54 · 640 阅读 · 0 评论 -
(C小程序)转换任意十六进制数的…
#include "iostream.h"#include #include "stdio.h"void Hex_Convent_Dec(char *p);int Involution(int n);void Hex_Convent_Dec(char *p){ int length; int i= 0 ,value,sum = 0; length = strlen(p);原创 2014-01-26 15:59:52 · 890 阅读 · 0 评论 -
(C小程序)用C语言求 最大公约数…
#include "iostream.h"#include "stdio.h"void MaxGY(int &m , int&n) { int temp,max,min; if(m { min = m; max = n; } else { min = n原创 2014-01-26 15:59:49 · 765 阅读 · 0 评论 -
虚函数小总结
当在基类中把成员函数定义为虚函数后,其派生类中定义的虚函数必须与基类的虚函数同名,参数的类型、顺序、个数必须一一对应。注:析构函数除外举例为。#include "iostream.h"class Base{public: Base() { coutin Base\n"; } virtual ~Base() { cout<<"destructingBase" }p原创 2014-01-26 15:59:31 · 524 阅读 · 0 评论 -
用“+”、“-”能够实现复数的加减运算…
用“+”、“-”能够实现复数的加减运算吗?答案是不可以的!! 实现复数加减运算的方法——重载“+”、“-”运算符运算符成员函数的设计 n重载为类成员函数。函数类型> operator运算符>(参数表>){函数体;>}n重载为友元函数。Friend函数类型> operator运算符>(参数表>){函数体;>}n重载为类成员函数原创 2014-01-26 15:59:29 · 743 阅读 · 0 评论 -
volatile与const学习笔记(网上摘…
1:关于指针长度,字符串长度的问题2:进程间的同步的方式有几种?3:什么是可重入代码?如何写可重入代码?4:printf()等可变函数的实现机理5:volatile 变量的用途?6:写一个在双链表中插入节点和删除节点的程序。7:将一个int型a 的第9位置1,将a的第9位置0;用预处理指令#define 声明一个常数,用以表明1年中有多少秒#define SECONDS_PER_Y原创 2014-01-26 15:59:13 · 474 阅读 · 0 评论 -
关于__irq 的使用
关于__irq 的使用__irq为一个标识,用来表示一个函数是否为中断函数。对于不同的编译器,__irq在函数名中的位置不一样,例如:ADS编译器中 :void __irqIRQ_Eint0(void);Keil编译器中: voidIRQ_Eint0(void) __irq;但是其意义一样,它所完成的任务是标识该函数为中断函数,在编译器编译是调用此函数时,先保护函数入口现场,然后原创 2014-01-26 15:59:10 · 591 阅读 · 0 评论 -
C/C++中typedef struct和struct的…
1. 基本解释typedef为C语言的关键字,作用是为一种数据类型定义一个新名字这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述2. typedef & 结构的问题原创 2014-01-26 15:59:03 · 600 阅读 · 0 评论 -
__swi(0x00) void SwiHandle1(int …
vicControl.h 有这样一句函数声明__swi(0x00) voidSwiHandle1(int Handle);他的函数体在哪里?__swi(0x00) void SwiHandle1(intHandle);其实没有函数体,执行这个语句后就自动把Handle的值赋给了R0,接着执行下面的代码。__swi(0x00)是软件中断,0为软中断指令中的24位立即数,但是通过R0寄存器来传递原创 2014-01-26 15:58:39 · 891 阅读 · 0 评论 -
数据区,代码区,堆区,栈区
一般全局变量存放在数据区,局部变量存放在栈区, 动态变量存放在堆区,函数代码放在代码区。 --------------------------------------------------------------- 栈区是普通的栈数据结构,遵循LIFO后进先出的规则,局部变量安排在那里是ASM时就规定的,这样可以在一个函数结束后平衡堆栈,操作简单,效率高 堆(动态区)在这里应当叫堆原创 2014-01-26 16:03:21 · 697 阅读 · 0 评论