数组及函数部分问题

一.数组越界下标导致的后果:

1. 程序仍然正常运行;

2. 程序会异常终止或者崩溃;

3. 程序能继续运行,但无法得到正确结果;

4. 其他情况

 

二.数组作为参数传递给函数时,可以通过size of得到数组的大小吗?

 不可以,当把数组作为函数参数时,无法在程序运行时通过函数参数本身告诉函数该数组的大小,因为函数的数组参数相当于指向该数组第一个元素的指针。这意味着把数组传递给函数的效率非常高。

 

三.关于C语言函数返回一个数组
c语言中函数不能直接返回一个数组,但是可以用其他方式实现类似功能,不过需要注意:
1、该数组不能是返回函数的局部变量数组,因为局部变量数组在退出函数后会被释放。
可以是全局变量,静态局部变量,动态分配内存,以及从函数参数传过来的数组地址。

四.2、返回指针时,无法返回长度,所以需要其它方式传回数组长度,以下是几种常用的方法。
1) 约定固定长度;
2) 以函数参数返回数组长度;
3)将长度保存在全局变量中;
4)约定数组结束标记;
5)在数组中存储数组长度,如存在第一个元素中。

.形参问题

形参——形式化的参数,这种解释很抽象。

在任何编程语言中,任何变量都是某个特定的存储空间的一段而已,这一段具体有多大,由变量的类型决定,如 int 型,则为4 Byte。

在进行函数/方法的调用时,函数的实参是存在于存储空间某个具体位置的一段指定空间的,而任何函数或方法都会被程序控制器开辟一个栈空间(stack),这个空间也是一段存储位置,有时候为了效率起见,它存在于计算机的ram或是CPU高速寄存器中。

六.c语言中,形参和实参是什么意思?有什么区别?

形参就是形式参数,用一个变量代表大家。实参就是实际参数,用一个 确切的数值代替形式参数,可以是表达式。实际参数与形式参数的参数个数、类型和顺序都应一样,如果不一样的话,系统会强制转换,这样会造成数据的丢失。实 参向形参的传递是值的传递。

七.static全局变量与普通的全局变量有什么区别:
static全局变量只初使化一次,防止在其他文件单元中被引用;  

八.static局部变量和普通局部变量有什么区别:
static局部变量只被初始化一次,下一次依据上一次结果值;

九.局部变量能否和全局变量重名

 

, 局部会屏蔽全局[1]. 要用全局变量, 需要使用"::"[2];

    局部变量可以与全局变量同名,  在函数内引用这个变量时, 会用到同名的局部变量, 而不会用到全局变量, 对于有些编译器而言, 在同一个函数内可以定义多个同名的局部变量, 比如在两个循环体内都定义同名的局部变量, 而那个局部变量的作用域就在那个循环体内

 

十.C语言的函数嵌套调用与函数递归调用有什么区别

 

嵌套调用,就是函数里面调用函数,调用的是谁没关系,都属于嵌套。
递归调用,就是函数调用本身。必须是自己调用自己。
所以 递归调用是嵌套调用的一种特别形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值