### 関数
関数: 複数の処理
返り値の型 関数名(引数){
処理;
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;
}
配列の書き方が原始的というか、他の言語でも仕組み上は同じと考えると、面白いです。