2.使用递归实现斐波那契数列
1 1 2 3 5 8.....
2、
输出为8
3、代码差错
函数strcpy用于字符串的拷贝,(1)中str0作为拷贝的字符数组长度不够拷贝会发生越界访问。
(2)中当str1指向地址存放的字符串长度为10时包含’、0‘11位,任然会越界访问
4、简述数组和指针的区别
数组是数据本身,而指针是数据的内存地址。
可以通过数组名和索引来访问数组中的元素。对于指针需要首先解引用才能访问它指向的内存中的数据。
数组的大小是固定的,一旦创建就不能更改。指针的大小可以是固定的或动态的,可以根据需要分配或释放内存空间。
数组的生命周期与它的元素相同,当数组超出作用域时,它所占用的内存空间也会被自动销毁。指针的生命周期取决于它指向的对象的生命周期,你需要手动管理指向的内存空间。
5、static 全局变量与普通的全局变量有什么区别?static 局部变量和普通局部变量有什么区别? static 函数与普通函数有什么区别?
普通的全局变量和static全局变量的生命周期都至本文件结束而释放。
普通的局部变量在函数每次被调用时都会重新分配内存空间,并且仅在本次函数调用中有效。而static局部变量在函数第一次被调用时分配内存空间,之后的函数调用中可以直接使用之前的内存空间,不会伴随程序的结束释放内存。
普通函数在程序的整个运行过程中都可以被调用。而static函数只能在定义该函数的C文件内部被调用,无法跨文件调用。