1月30号上海柏飞

本文详细解释了C语言中局部变量与全局变量的区别,包括重名、引用方法,以及全局变量在头文件中的定义。还讨论了静态变量、栈区、堆区的概念,并通过实例分析了结构体和内存计算。最后介绍了队列和栈的区别以及代码输出示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、局部变量能否和全局变量重名?

答:可以

2、如何引用一个已经定义过的全局变量?

答:引用头文件,或者使用extern

3、全局变量可不可以定义在可被多个.C 文件包含的头文件中? 为什么?

答:可以

4、请写出下列代码的输出内容

#include <stdio.h>

int main(void)

{

int a,b,c.d;

a=10:

b=a++;

C=++a;

d=10*a++:

printf("b, c, d: %d, %d, %d", b, c, d) :

return 0;

}

b=10, c=12, d=120

5、static 全局变量与普通的全局变量有什么区别? static 局部变量和普通局部变量有什么区别? static 函数与普通涵数有什么区别?

答:

static局部变量:

初始值:若没有初始化,则变量会默认初始化为0

生存周期:从程序开始到程序结束。

普通局部变量:

初始值:若没有初始化,则变量中存储的是随机值。

生存周期:从函数被调用,到函数退出。

全局变量:

作用域:在整个工程中,程序中的任何一个函数都能访问到全局变量,其他.c文件若想要访问,需要通过extern关键字引用。

Static全局变量:

作用域:在当前.c文件中,同一工程下的其他.c文件无法引用(extern)访问该全局变量.

Static函数:

普通函数:

6、程序的局部变量存在于(内存的哪个区域]中,全局变量存在于_栈区中,动态申请数据存在于_堆区

7、设有以下说明和定义:

typedef union

long i;

int k[5):

char c

]DATE:

struct data

1

int cat:

DATE cow:

double dog;

]too:

DATE max;

则语句 printf(-%d",sizeof(struct data)+sizeof(max));的执行结果是:52

8、队列和技有什么区别?

9写出下列代码的输出内容

#include <stdio.h>

int inc(int a)

 retum(++a);}

int multi(int*aint*b,int*c)

retum(*c=*a**b):1typedef int(FUNC1(int in):

typedef int(FUNC2) (int*.int*,int*):

void show(FUNC2 fun,int argl, int*arg2)

FUNC1 p=&inc:

int temp =p(arg1);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值