程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 學點C語言(31):函數 - 聲明、定義、調用

學點C語言(31):函數 - 聲明、定義、調用

編輯:關於C語言

1. 如果函數沒有聲明, 應該在調用前定義:

#include <stdio.h>

/* 定義求大值函數 */
int MAX(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}

/* 定義求小值函數 */
int MIN(int x, int y) {
  return x < y ? x : y;
}

int main(void)
{
  int a = 5;
  int b = 6;

  /* 調用函數 */
  printf("%d\n", MAX(a,b));
  printf("%d\n", MIN(a,b));

  getchar();
  return 0;
}

2. 可以在函數頭聲明:

#include <stdio.h>

int main(void)
{
  int a = 5;
  int b = 6;

  /* 在函數頭聲明要使用的函數 */
  int MAX(int x, int y);
  int MIN(int x, int y);

  /* 調用函數 */
  printf("%d\n", MAX(a,b));
  printf("%d\n", MIN(a,b));

  getchar();
  return 0;
}

/* 定義求大值函數 */
int MAX(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}

/* 定義求小值函數 */
int MIN(int x, int y) {
  return x < y ? x : y;
}

3. 但一般應在文件頭聲明:

函數原型的聲明在實際運用中, 會集中聲明在頭文件(*.h)裡面.

#include <stdio.h>

/* 在文件頭聲明要使用的函數 */
int MAX(int x, int y);
int MIN(int x, int y);

int main(void)
{
  int a = 5;
  int b = 6;

  /* 調用函數 */
  printf("%d\n", MAX(a,b));
  printf("%d\n", MIN(a,b));

  getchar();
  return 0;
}

/* 定義求大值函數 */
int MAX(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}

/* 定義求小值函數 */
int MIN(int x, int y) {
  return x < y ? x : y;
}

4. 函數可互調用, 但不能嵌套:

#include <stdio.h>

void PrintSum(int x, int y);
int sum(int x, int y);

int main(void)
{
  PrintSum(1,2);
  PrintSum(111,222);

  getchar();
  return 0;
}

void PrintSum(int x, int y) {
  printf("%d + %d = %d;", x, y, sum(x,y));
  putchar('\n');
}

int sum(int x, int y) {
  return x + y;
}

5. 關於無參數、無返回值的函數:

如果函數沒有參數, 最好是 fun(void), 不過 fun() 也行;

如果函數沒有返回值, 要注明返回類型是 void;

在 C 語言中調用無參函數也要帶括號.

#include <stdio.h>

void prn(void);

int main(void)
{
  prn(); /* 調用無參函數 */

  getchar();
  return 0;
}

void prn(void) {
  printf("ok\n");
}

6. 聲明函數時可以省略形參:

#include <stdio.h>

int sum(int, int, int); /* 省略形式參數 */

int main(void)
{
  printf("%d\n", sum(1,2,3));

  getchar();
  return 0;
}

int sum(int x, int y, int z)
{
  return(x + y + z);
}

7. 函數的參數一般不要超過 7 個:

但 C99 可以支持到 127 個參數.

#include <stdio.h>

int sum(int, int, int, int, int, int, int);

int main(void)
{
  printf("%d\n", sum(1,2,3,4,5,6,7));

  getchar();
  return 0;
}

int sum(int a, int b, int c, int d, int e, int f, int g)
{
  return(a + b + c + d + e + f + g);
}

返回“學點C語言 - 目錄”

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved