首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
飞思卡尔™半导体(Freescale Semiconductor)
» 一个简单的c语言问题,请各位不吝赐教。
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
一个简单的c语言问题,请各位不吝赐教。
发短消息
加为好友
waitforgod
当前离线
UID
117876
帖子
27
精华
0
积分
170
阅读权限
20
在线时间
0 小时
注册时间
2005-7-16
最后登录
2006-4-14
注册会员
UID
117876
性别
男
1
#
打印
字体大小:
t
T
waitforgod
发表于 2005-8-1 11:28
|
只看该作者
一个简单的c语言问题,请各位不吝赐教。
c语言
,
不吝
,
赐教
邵贝贝的《单片机嵌入式应用的在线开发方法》中说道:由于程序是固化在rom里的,而不是下载到ram中的,除非在应用程序运行后向ram中下载什么,ram中的内容是随机的。这就要求c语言开发嵌入式应用程序时不使用初始化变量。
例不能使用: int a=5; function{ a+=3;}
要写城 : int a; function{a=5;a+=3;}
但是两种用法我都试过,都可以。怎么理解这段话?
收藏
分享
评分
回复
引用
订阅
TOP
发短消息
加为好友
strongchen
当前离线
版主
UID
104380
帖子
7531
精华
0
积分
14828
阅读权限
90
在线时间
17 小时
注册时间
2005-2-28
最后登录
2012-5-17
论坛元老
UID
104380
性别
男
2
#
strongchen
发表于 2005-8-1 11:43
|
只看该作者
RAM中的变量分为全局变量和局部变量。对于全局变量,应该没什么问题。但对于局部变量,若采用第一种形式,而在int a=5和function{a+=3}之间运行过别的函数或程序(即使程序中它们中间没有别的代码,也可能运行中断程序等),则不能保证a的初始值。所以最好采用第二种形式。
海纳百川 有容乃大
回复
引用
TOP
发短消息
加为好友
waitforgod
当前离线
UID
117876
帖子
27
精华
0
积分
170
阅读权限
20
在线时间
0 小时
注册时间
2005-7-16
最后登录
2006-4-14
注册会员
UID
117876
性别
男
3
#
waitforgod
发表于 2005-8-1 20:40
|
只看该作者
费解ing,“对于全局变量,应该没什么问题。但对于局部变量,若采用第一种形式,……“
因该对局部变量没问题吧?函数不可重入,不就是因为全局变量被修改吗?
回复
引用
TOP
发短消息
加为好友
strongchen
当前离线
版主
UID
104380
帖子
7531
精华
0
积分
14828
阅读权限
90
在线时间
17 小时
注册时间
2005-2-28
最后登录
2012-5-17
论坛元老
UID
104380
性别
男
4
#
strongchen
发表于 2005-8-2 11:12
|
只看该作者
全局变量在RAM中占一个固定的地址,当函数调用某个全局变量时,程序员应该知道此时它的数值所代表的含义,而不会是一个随机的数。全局变量可以用来传递参数。
但局部变量并没有固定的地址,它分配在堆栈中,只是调用某个函数时,才临时分配一个地址。当函数调用结束时,堆栈空间就会释放。局部变量不能用于传递参数。
海纳百川 有容乃大
回复
引用
TOP
发短消息
加为好友
coleflyer
当前离线
UID
115672
帖子
28
精华
0
积分
170
阅读权限
20
在线时间
0 小时
注册时间
2005-6-15
最后登录
2006-3-26
注册会员
UID
115672
性别
男
5
#
coleflyer
发表于 2005-8-2 11:34
|
只看该作者
例不能使用: int a=5; function{ a+=3;}
要写城 : int a; function{a=5;a+=3;}
这个例子应该就是针对全局变量来说的吧,局部变量肯定是定义在函数内部的啊
回复
引用
TOP
发短消息
加为好友
strongchen
当前离线
版主
UID
104380
帖子
7531
精华
0
积分
14828
阅读权限
90
在线时间
17 小时
注册时间
2005-2-28
最后登录
2012-5-17
论坛元老
UID
104380
性别
男
6
#
strongchen
发表于 2005-8-2 11:43
|
只看该作者
可能我第一个帖子的描述不是很准确。但不管怎样,只要各位能了解全局变量和局部变量的具体物理规程,在编程中就能自如地运用,也就不必拘泥于某些书本上的句子了。
海纳百川 有容乃大
回复
引用
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议