はじめに
C言語再履修用
関数
main
main.c
#include<stdio.h>
int main() {
printf("hello\n");
return 0;
}
自作関数
main.c
#include<stdio.h>
int testFunc(int, int);
int main() {
printf("%d\n", testFunc(1, 2));
return 0;
}
int testFunc(int inp1, int inp2) {
int res;
res = inp1 + inp2;
return res;
}
配列
既知
main.c
#include<stdio.h>
int main() {
int i;
int arr[] = {1, 2, 3};
for (i = 0; i < sizeof(arr)/sizeof(int); i++) {
printf("%d\n", arr[i]);
}
return 0;
}
動的
main.c
#include<stdio.h>
#include<stdlib.h>
int main() {
int i;
int *arr;
arr = (int*)malloc(sizeof(int) * 3);
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
for (i = 0; i < 3; i++) {
printf("%d\n", arr[i]);
}
return 0;
}
ポインタ
main.c
#include<stdio.h>
#include<stdlib.h>
int main() {
int val;
int* pnt;
val = 23;
pnt = &val;
printf("val : %d\n", val);
printf("pnt : %p\n", pnt);
printf("pnt : %d\n", *pnt);
*pnt = 34;
printf("val : %d\n", val);
printf("pnt : %d\n", *pnt);
return 0;
}
コマンドライン引数
main.c
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[]) {
int i;
for (i = 0; i < argc; i++) {
printf("%s\n", argv[i]);
}
return 0;
}
構造体
main.c
#include<stdio.h>
#include<stdlib.h>
struct testst {
int val1;
int val2;
};
int main() {
struct testst stst1;
stst1.val1 = 12;
stst1.val2 = 34;
printf("val1 : %d\n", stst1.val1);
printf("val2 : %d\n", stst1.val2);
return 0;
}