C語言第三天-函式,陣列
阿新 • • 發佈:2018-11-08
函式:
返回值 函式名稱(引數) {主體}
/* 函式返回兩個數中較大的那個數 */
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};