はじめに
初級(前編)(後編)、中級と続いて、いよいよ上級編まできました☺️
C言語を扱う上で必須ではありませんが、より実践的な手法を紹介します。
関数マクロ
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define SQUARE(x) ((x) * (x))
int main() {
printf("%d\n", MAX(3, 5)); // 5
printf("%d\n", SQUARE(4)); // 16
return 0;
}
ビット演算
int a = 0b1010; // 10
int b = 0b1100; // 12
printf("%d\n", a & b); // AND: 8
printf("%d\n", a | b); // OR: 14
printf("%d\n", a ^ b); // XOR: 6
printf("%d\n", ~a); // NOT: -11
printf("%d\n", a << 1); // 左シフト: 20
printf("%d\n", a >> 1); // 右シフト: 5
動的メモリ確保
#include
int* arr = (int*)malloc(sizeof(int) * 10);
if (arr == NULL) {
// エラー処理
}
for (int i = 0; i < 10; i++) {
arr[i] = i;
}
free(arr); // 必ず解放する
構造体
typedef struct {
char name[50];
int age;
float score;
} Student;
Student s;
strcpy(s.name, "eight");
s.age = 30;
s.score = 95.5f;
さいごに
上級編の内容を理解することで、より実践的なC言語プログラミングができるようになります。
それでは、今回はここまで。ありがとうございました😊