嵌入式linux c语言引用设计
来源:互联网 发布:长三角师资招聘会 网络 编辑:程序博客网 时间:2024/06/15 09:36
4.1
csb@csb-ThinkPad-E430c:~/code/c$ catfloat.c
#include
void main()
{
float a;
double b;
a=33333.333333333333333;//float,有效数字7位
b=33333.333333333333333;//double,有效位数16
printf("a=%f\nb=%f\n",a,b);
}
csb@csb-ThinkPad-E430c:~/code/c$./float
a=33333.332031
b=33333.333333
字符常量
字符常量只能用单引号括起来,不能用双引号或其他括号
字符常量只能是单个字符不能是字符串
'5'!=5
枚举类型
定义枚举变量使其的取值被限定在一个有效范围;
enum name{
所有取值;
};
enum sgp_type{
SGP_QUICK=2,
SGP_READ=9,
SGP_CACHE=19,
SGP_WRITE=64,
};
void swap(int *p1,int *p2)
{
int *temp;
temp=p1;
p1=p2;
p2=temp;
}
指针作为函数参数
函数调用中发送的数据传送是单向的,只能吧实参的值传送给形参,而不能把形参的值反向传送给实参
下面例子具体说明这个问题:
#include
void swap(int *p1,int *p2)
{
int temp;
printf("swap:\naddr:p1=%p,p2=%p\n",p1,p2);
temp=(*p1);
*p1=*p2; *p2=temp;
printf("addr:temp=%p,p1=%p,p2=%p\n",&temp,&(*p1),&(*p2));//p1,p2指向的地址没改变,指向地址的内容变了
}
void swap1(int *p1,int *p2)
{
int *temp;
printf("swap1\naddr:p1=%p,p2=%p\n",p1,p2);
temp=p1;
p1=p2; p2=temp;
printf("addr:temp=%p,p1=%p,p2=%p\n",&(*temp),&(*p1),&(*p2));//p1,p2是形参指向地址改变了,p3,p4是实参,指向地址没有改变
printf("value:temp=%d,p1=%d,p2=%d\n",*temp,*p1,*p2);
}
void main()
{
int a=10,b=20;
int *p3,*p4;
p3=&a;p4=&b;
printf("before swap\n");
printf("a=%d,b=%d,a=%p,b=%p,p3=%p,p4=%p\n",a,b,&a,&b,&(*p3),&(*p4));
swap(p3,p4);
printf("swap\na=%d,b=%d,a=%p,b=%p,p3=%p,p4=%p\n",a,b,&a,&b,&(*p3),&(*p4));
*p3=10;
*p4=20;
swap1(p3,p4);
printf("swap1\na=%d,b=%d,a=%p,b=%p,p3=%p,p4=%p\n",a,b,&a,&b,&(*p3),&(*p4));
}
- 嵌入式linux c语言引用设计
- 嵌入式 Linux --C语言
- 嵌入式C语言可靠性设计
- 讲座主题:嵌入式Linux C语言开发与用户界面开发设计
- 嵌入式Linux下的C语言题
- 【嵌入式Linux】CGI之C语言
- 嵌入式Linux C语言开发工具
- 嵌入式Linux c语言开发工具
- C语言 linux信号和阻塞 sigaction…
- 嵌入式 Linux C语言——C语言基础
- 嵌入式 C 语言的可变参数表函数的设计
- 嵌入式设计模式:有限状态自动机的C语言实现
- C语言 随机数
- 嵌入式c语言试题
- 嵌入式C语言点滴
- 嵌入式c语言精华
- 嵌入式C语言笔试
- 嵌入式 C 语言学习体会
- 第二章arm分类及寻址方式
- 第一章
- LR(R14)寄存器
- 第三章 arm指令集
- 嵌入式软件工程师面试题
- 嵌入式linux c语言引用设计
- Foundation框架-数字对象的操作
- BASH SHELL
- te2440LCD控制寄存器参数代码
- linux lds 链接脚本转载
- 位置无关代码(PIC)的分析…
- 链接脚本,文字无关码,运行地址,…
- tq2440从nand启动及位置无关码的理…
- dnw for linux