鍍金池/ 問(wèn)答/C++  HTML/ C語(yǔ)言函式程序+字元,搞不懂哪個(gè)是函式呼叫,哪個(gè)是函式定義,哪個(gè)是函式宣告?

C語(yǔ)言函式程序+字元,搞不懂哪個(gè)是函式呼叫,哪個(gè)是函式定義,哪個(gè)是函式宣告?

在這個(gè)程序中我有很多東西不懂,這章的函式參數(shù)是多少,函式引數(shù)是多少,還有回傳值的資料型別為void不是可以省略最后的return嗎,這章的函式呼叫是哪個(gè),函式宣告是哪個(gè),函式定義又是哪個(gè),到底最后將回傳值回傳到哪里去了?

#include <stdio.h>

void str_print(char str[]){
    printf("%c",str[0]);
}

int main(){
    char str[] = {
        'H','e','l','l','o'
    };
    str_print(str);
    return 0;
}

回答
編輯回答
焚音

函數(shù)呼叫, invoke/call, 就是你調(diào)用函數(shù)的那個(gè)語(yǔ)句.

函式宣告, 即declaration, 與definition相對(duì), 前者是后者的超集, 所以每一個(gè)definition都是一個(gè)declaration, 而definition不一定是declaration:

clipboard.png

簡(jiǎn)而言之, definition是definition的超集, definition是declaration的子集, 所以是one definition ruler, 而不是one declaration ruler

2018年5月19日 16:17