1.思维导图
2.使用递归实现斐波那契数列
1 1 2 3 5 8.....
3.
过程:x=9999---x=9998----x=9996---x=9992---x=9984---x=x=9728---x=9216---x=4096---x=0
函数返回值为:8
4.
答:数组与指针的区别:
总体来说:
(1)数组是直接访问数据的。
(2)指针是间接访问数据的。
从定义上来说:
(1)数组是类型相同、数目固定的若干个变量的有限集合,它存放的是数据。
(2)指针是变量的地址,存放的是变量的地址。
从存储方式来说:
(1)数组通常存储在静态存储区或栈上。
(2)指针可以随时随地地指向任意类型的内存块。
从内存内存容量来说:
(1)用运算符sizeof可以计算出数组的容量(字节数)。
(2)sizeof(p),p为指针得到的是一个指针变量的字节数,而不是p多指的内存容量。
5.
答:(1)static全局变量与普通全局变量的区别
1.static全局变量编译是初始化,在main()函数之前初始化且仅初始化一次;
2.static全局变量限定了作用域的范围,仅在定义该变量的源文件中有效,由于静态全局变量的作用域局限于一个源文件内,即文件作用域,只能为该源文件内的函数公用, 可以避免在其它源文件中引起错误。而普通全局变量可以跨越多个源文件有效,但其他不包含全局变量定义的源文件需要用extern关键字,需再次声明这个全局变量。
(2)static局部变量与普通局部变量的区别
1.static局部变量只被初始化一次,直到程序运行结束都会一直存在。而普通局部变量,只在函数执行期间存在,函数的一次调用执行结束后,变量被释放,变量所占用的内存释放。
2.静态局部变量在静态区分配空间,局部变量在栈区分配空间。
(3)static函数与普通函数的区别
1.普通函数的定义和声明默认情况下是extern的存储类型,但静态函数只是在声明其文件当中可读,但不能被其他文件所用。
2.普通函数在C++类中编译后带一个隐藏的(this)参数,而static函数不带。