简历大全 | 求职信 | 毕业生 | 面试·笔试 | 自我评价 | 自我介绍 | 自我鉴定 | 自荐信 | 个人简历word模板 | 辞职信
您现在的位置: 我要找简历网首页 > 面试·笔试 > 面试技巧 > 》 面试问答题

面试问答题

面试技巧 时间:10-15 14:10 浏览次数:506
面试问答题 标签: 如何面试,面试问题及答案,面试的技巧 http://www.519jianli.com

华为软件研发面试问答题:

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

答:能,局部会屏蔽全局。要用全局变量,需要使用"::"。

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

答:extern

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

答:可以,不同的C文件中可以声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错.

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

答:1)全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。

2)把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。

3)static函数与普通函数作用域不同,仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件

综上所述:

static全局变量与普通的全局变量有什么区别:

static全局变量只初使化一次,防止在其他文件单元中被引用;

static局部变量和普通局部变量有什么区别:

static局部变量只被初始化一次,下一次依据上一次结果值;

static函数与普通函数有什么区别:

static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

6、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区)中,动态申请数据存在于(堆)中。

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

#include<stdio.h>

intinc(inta)
{
return(++a);
}

intmulti(int*a,int*b,int*c)
{
return(*c=*a**b);
}

typedefint(FUN1)(int);
typedefint(FUN2)(int*,int*,int*);

voidshow(FUN1p,FUN2fun,intarg1,int*arg2)
{
inttemp=p(arg1);
fun(&temp,&arg1,arg2);
printf("%d\n",*arg2);
}

intmain()
{
inta;
show(inc,multi,10,&a);
return0;
}
答:110

10、以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”

intmain()
{
//char*src="HappyNewYear!";输出src时出错
charsrc[]="HappyNewYear!";
intlen=strlen(src);
inti;
chartemp;
for(i=0;i<len/2;i++)
{
temp=src[i];
src[i]=src[len-1-i];
src[len-1-i]=temp;
}
cout<<src<<endl;
return0;
}

intmain()
{
char*src="HappyNewYear!";
intlen=strlen(src);
char*dest=newchar[len+1];
char*d=dest;
dest+=len;
*dest='\0';
dest--;
while(*src!='\0')
{
*dest--=*src++;
}
cout<<d<<endl;
delete[]dest;
dest=NULL;
return0;
}

intmain()
{
char*src="HappyNewYear!";
intlen=strlen(src);
char*dest=newchar[len+1];
inti;
for(i=0;i<len;i++)
{
dest[i]=src[len-1-i];
}
*(dest+len)='\0';
cout<<dest<<endl;
delete[]dest;
return0;
}

《面试问答题》相关文章
联系我们 | 网站地图 | RSS地图 | 简历大全 | 求职信 | 毕业生 | 自我介绍 | 自我鉴定 | 自荐信 | 个人简历word模板
Copyright Powered By我要找简历网
英文简历范文_个人简历封面下载_大学生个人简历_个人简历封面模板_个人简历表格下载
全站地图 1 2 3 4 5 6 7 8