自学嵌入式第十二天(4.28)

一、函数递归调用:函数直接或间接调用本身;
例:void fun(void)
    {
        fun();
    }
上例就是一个递归调用,但该调用会导致程序运行时陷入死循环,程序会崩溃。
相关补充:
    *上例陷入死循环原因就是:函数每次调用都需要往栈里存返回地址,栈的空间是有限的,所以由于死循环导致栈空间耗尽,从而造成程序运行崩溃。
    *由于函数递归调用每次都要入栈出栈操作,所以导致程序运行效率较低,所以循环操作最好用几种循环结构来写。
    *指针大小与硬件有关,cpu有8位、16位、32位、64位,对应n根地址总线,那么指针大小对应就是n/8字节。
    *数组参数传递需要两个参数:数组首地址、数组长度。
    *字符数组参数传递只需要传首元素地址。
接下来看看两个函数编写练习:atoi与itoa(即字面意思字符转整型,整型转字符)
自学嵌入式第十二天(4.28)_第1张图片自学嵌入式第十二天(4.28)_第2张图片

你可能感兴趣的:(c语言)