一隻太平洋睡鯊 发表于 2022-5-5 16:35:06

關於C語言函數簡單範例的問題

(前一個貼子我覺得說明不夠清楚,但因為又在審核無法修改或刪除,因此先重發一個)
圖1是原本的課本範例
因為我在想前面的「void hello();」是幹嘛的
所以圖2我把「void hello();」拿掉了
會報錯,但依然打印出同樣的內容
為了修正報錯,圖3我把函數內容移到了上面
就能打印同樣的內容,並且不會報錯
想請問打上「void hello();」的意義是什麼?
為什麼不直接把函數打在前面就好?
放上「void hello();」並把函數放在後面對程式的運行有什麼好處嗎?

傻眼貓咪 发表于 2022-5-5 16:42:35

顺序:
声明 -> 调用 -> 定义
声明 -> 定义 -> 调用

都是声明要在最前面(声明用来告诉编译器有这个东西的存在)

一隻太平洋睡鯊 发表于 2022-5-5 16:51:56

傻眼貓咪 发表于 2022-5-5 16:42
顺序:
声明 -> 调用 -> 定义
声明 -> 定义 -> 调用


雖然好像不放聲明也不會報錯,但似乎聲明是一定要的?
不聲明是在程式越來越複雜時會產生影響嗎?

傻眼貓咪 发表于 2022-5-5 16:59:44

一隻太平洋睡鯊 发表于 2022-5-5 16:51
雖然好像不放聲明也不會報錯,但似乎聲明是一定要的?
不聲明是在程式越來越複雜時會產生影響嗎?

声明和定义可以同时进行

一隻太平洋睡鯊 发表于 2022-5-5 17:09:05

傻眼貓咪 发表于 2022-5-5 16:59
声明和定义可以同时进行

所以
void hello();
void hello()
{
        /**/
        printf("Hello,歡迎學習C語言\n");
}

void hello()
{
        /**/
        printf("Hello,歡迎學習C語言\n");
}
沒有實質性的差別...?

傻眼貓咪 发表于 2022-5-5 17:09:40

一隻太平洋睡鯊 发表于 2022-5-5 17:09
所以




没错
页: [1]
查看完整版本: 關於C語言函數簡單範例的問題