初学

tjhgltt 2003-10-16 09:53:01
VC++中什么是自动变量?什么是全局变量?什么是局部变量?C++中如果有定义,没有赋值,
程序给它们所默认的初值是多少?(能举一下例吗?我刚学没几天,谢谢)
...全文
29 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccwwbb 2003-10-17
  • 打赏
  • 举报
回复
找一本好书,回去多看看就行了
Wolf0403 2003-10-17
  • 打赏
  • 举报
回复
刚学没几天就来这里?回去好好看书。
langzi8818 2003-10-16
  • 打赏
  • 举报
回复
一、局部变量(自动变量)
局部变量是指在函数内部说明的变量(有时也称为自动变量)。用关键字auto进
行说明, 当auto省略时, 所有的非全程变量都被认为是局部变量, 所以auto实际上
从来不用。
局部变量在函数调用时自动产生, 但不会自动初始化, 随函数调用的结束, 这
个变量也就自动消失了, 下次调用此函数时再自动产生, 还要再赋值, 退出时又自
动消失。

例如:
puthz(int x, int y, int color, char *p)
{
int i, j, k; /*定义局部变量*/
<程序体>
}
其中x, y, color, *p为函数的形式参数, 不需要再进行说明就可在该函数内
直使用。

二、全程变量
全程变量是指在所有函数之外说明的变量, 它在整个程序内部者是"可见的",
可以被任何一个函数使用, 并且在整个程序的运行中都保留其值。全程变量只要满
足在使用它以前和函数以外这两个条件, 可在程序的任何位置进行说明, 习惯上通
常在程序的主函数前说明。
例如:
#include<stdio.h>
int test; /*定义全程变量*/
void f1(int x, float y); /*子函数说明*/
void f2(void); /*子函数说明*/
main()
{
test=5; /*给全程变量赋值*/
f1(20, 5.5); /*调用有形式参数的子函数f1()*/
/*test的值变成115*/
f2(); /*调用f2(), test的值变为1150*/
}
void f1(int x, float y)
{
float z; /*z定义为局部变量*/
z=x*y; /*计算*/
test=test+z;
}
void f2(void)
{
int count=10; /*定义局部变量并初始化*/
test=test*count;
}

由于全程变量可被整个程序内的任何一个函数使用, 所以可作为函数之间传递
参数的手段, 但全程变量太多时, 内存开销变大。

三、C++中如果有定义,没有赋值,程序给它们所默认的初值是多少?

程序随机给变量一个值。
#include <stdio.h>

void main()
{
int i;
printf("%d\n",i);
}
daizh 2003-10-16
  • 打赏
  • 举报
回复

一、局部变量(自动变量)
局部变量是指在函数内部说明的变量(有时也称为自动变量)。用关键字auto进
行说明, 当auto省略时, 所有的非全程变量都被认为是局部变量, 所以auto实际上
从来不用。
局部变量在函数调用时自动产生, 但不会自动初始化, 随函数调用的结束, 这
个变量也就自动消失了, 下次调用此函数时再自动产生, 还要再赋值, 退出时又自
动消失。

例如:
puthz(int x, int y, int color, char *p)
{
int i, j, k; /*定义局部变量*/
<程序体>
}
其中x, y, color, *p为函数的形式参数, 不需要再进行说明就可在该函数内
直使用。

二、全程变量
全程变量是指在所有函数之外说明的变量, 它在整个程序内部者是"可见的",
可以被任何一个函数使用, 并且在整个程序的运行中都保留其值。全程变量只要满
足在使用它以前和函数以外这两个条件, 可在程序的任何位置进行说明, 习惯上通
常在程序的主函数前说明。
例如:
#include<stdio.h>
int test; /*定义全程变量*/
void f1(int x, float y); /*子函数说明*/
void f2(void); /*子函数说明*/
main()
{
test=5; /*给全程变量赋值*/
f1(20, 5.5); /*调用有形式参数的子函数f1()*/
/*test的值变成115*/
f2(); /*调用f2(), test的值变为1150*/
}
void f1(int x, float y)
{
float z; /*z定义为局部变量*/
z=x*y; /*计算*/
test=test+z;
}
void f2(void)
{
int count=10; /*定义局部变量并初始化*/
test=test*count;
}

由于全程变量可被整个程序内的任何一个函数使用, 所以可作为函数之间传递
参数的手段, 但全程变量太多时, 内存开销变大。

三、C++中如果有定义,没有赋值,程序给它们所默认的初值是多少?

程序随机给变量一个值。
#include <stdio.h>

void main()
{
int i;
printf("%d\n",i);
}
lingar 2003-10-16
  • 打赏
  • 举报
回复
自动变量 auto 复值为随机
全局变量 在main函数之前的 复值为0
局部变量 在函数里的 复值随机的
caizzrr 2003-10-16
  • 打赏
  • 举报
回复
全局变量就是在整个程序都可以使用的变量,如没初始代,系统会给0
而局部变量就是只在一个局部区域可以使用,如子函数、{}等,如没初始,初值就是内存中
原有的值
zhuixe 2003-10-16
  • 打赏
  • 举报
回复
不搞那么清楚也可以编程的,需要赋什么初值就自己赋,
反正我是这么做的e
全局变量是整个程序所有的函数中都可以使用的变量,
局部变量仅在定义它 的函数中可以使用。

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧