### 関数
関数: 複数の処理
返り値の型 関数名(引数){
処理;
return
}
C言語は、最初にmain()関数を実行する
main内で使用する関数は、mainよりも上部に書く
プロトタイプ宣言を最上部に記述する
float getMax(float a, float b){ if(a >= b){ return a; } else { return b; } } void sayHi(void){ printf("Hi\n"); } int main(void){ float result; result = getMax(2.3, 5.2); printf("%f\n", result); sayHi(); return 0; }
引数がない場合はvoidをつける
### 三項演算子
返り値 = (条件) ? A : B;
float getMax(float a, float b){ return (a >= b) ? a : b; }
### ローカル変数とグローバル変数
※グローバル変数は非推奨
int a = 0; void f(void){ a++; printf("a:%d\n", a); } int main(void){ f(); printf("[main]a:%d\n", a); return 0; }
### static
型指定の前に、staticとすると、静的変数となり、値を保持する
void f(void){ static int a = 0; a++; printf("a:%d\n", a); } int main(void){ f(); f(); f(); return 0; }
$ ./dev
a:1
a:2
a:3
### 変数
領域を確保する
なお、variables[]={a,b,c} と書くことができる
int main(void){ // int sales[] = {200, 405, 302}; int sales[3]; sales[0] = 200; sales[1] = 400; sales[2] = 300; printf("%d\n", sales[1]); return 0; }
### 文字列
char型の配列、終端は「\0」
char s[] = {‘a’,’b’,’c’,’\0′};
char s[] = “abc”;
int main(void){ char s[] = "abc"; printf("%c\n", s[1]); return 0; }
配列の書き方が原始的というか、他の言語でも仕組み上は同じと考えると、面白いです。