1. 程式人生 > >C語言第三天-函式,陣列

C語言第三天-函式,陣列

函式:

返回值 函式名稱(引數) {主體}

/* 函式返回兩個數中較大的那個數 */
int max(int num1, int num2) //函式宣告
{
   int result;//引數型別
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

傳值方式呼叫函式

/* 函式定義 */
void swap(int x, int y)
{
   int temp;

   temp = x; /* 儲存 x 的值 */
   x = y;    /* 把 y 賦值給 x */
   y = temp; /* 把 temp 賦值給 y */
  
   return;
}

引用方式呼叫函式

/* 函式定義 */
void swap(int *x, int *y)
{
   int temp;
   temp = *x;    /* 儲存地址 x 的值 */
   *x = *y;      /* 把 y 賦值給 x */
   *y = temp;    /* 把 temp 賦值給 y */
  
   return;
}

作用域規則

區域性變數

#include <stdio.h>
 
int main ()
{
  /* 區域性變數宣告 */
  int a, b;
  int c;
 
  /* 實際初始化 */
  a = 10;
  b = 20;
  c = a + b;
 
  printf ("value of a = %d, b = %d and c = %d\n", a, b, c);
 
  return 0;
}

全域性變數

#include <stdio.h>
 
/* 全域性變數宣告 */
int g;
 
int main ()
{
  /* 區域性變數宣告 */
  int a, b;
 
  /* 實際初始化 */
  a = 10;
  b = 20;
  g = a + b;
 
  printf ("value of a = %d, b = %d and g = %d\n", a, b, g);
 
  return 0;
}

初始化區域性變數和全域性變數

當局部變數被定義時,系統不會對其初始化,您必須自行對其初始化。定義全域性變數時,系統會自動對其初始化,如下所示:

資料型別 初始化預設值
int 0
char '\0'
float 0
double 0
pointer NULL

陣列:

//宣告陣列
double balance[10];
//初始化陣列
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
balance[4] = 50.0;//為陣列中某個元素賦值

列舉

enum 列舉名 {列舉元素1,列舉元素2,……};
enum season {spring, summer=3, autumn, winter};