[CS study]スキーム


整列


アレイを使用する理由


3つの数字があるときは、最大の数字を求めるプログラムを書くことを考えてみましょう.
デフォルトでは、変数の名前をa、b、cに設定できます.
では、100個の数字があれば、どうすればいいのでしょうか.
効率は低いが、100個の変数を作成して宣言することができる.
しかし、数字が10万個なら?変数を1つずつ作成して処理することはできません.
したがって、同じデータ型を複数収容する技術が必要です.これがレイアウトです.
配列は、同じ性質を有する複数のデータを表すことができる.

アレイの宣言と初期化


配列の宣言方法

자료형 배열명[배열의 크기] = (초기화 값); // 초기화 값은 없을 수도 있다. 

다음과 같은 문법으로 배열을 초기화하고 개별적인 값에 접근할 수 있습니다.
 
#include <stdio.h>
int main(void) {
  int a[10] = { 6, 5, 4, 3, 9, 8, 0, 1, 2, 7 };
  int i;
  for (i = 0; i < 10; i++) {
    printf("%d ", a[i]);
  }
  system("pause");
}
例)配列内で最も近い要素の検索
#include <stdio.h>
#include <limits.h>

int main(void) {
  int a[10] = { 6, 5, 4, 3, 9, 8, 0, 1, 2, 7 };
  int i, maxValue = INT_MIN;
  for (i = 0; i < 10; i++) {
if (maxValue < a[i]) maxValue = a[i]; 
  }
  printf("%d\n", maxValue);
  system("pause");
}
INT MIN 1)INT MINは最低価格を求める常用機能です.2)ヘッダファイルで定義されたint範囲の最大値を返します.3)INT MAXも使用できます.

文字列と配列


デフォルトでは、元のC言語では独自の文字列ライブラリは提供されません.
したがって、C言語は文字列を複数文字の組み合わせとして表す.
C++はこれらの不便な点を知っているので,独自の文字列タイプを提供している.
C言語では、1文字に1バイトしか含まれていないため、文字配列を使用します.
すなわち,文字列は実際には配列である.
char a[20] = "HELLO WORLD" 
デフォルトでは、文字列を宣言するときに、配列のサイズが文字列のサイズより大きいことを確認します.
文字列の受信と出力には%sというフォーマット指定子が使用されます.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) { 
	char a[20]; 
	scanf("%s", &a); 
	printf("%s\n", a); 
    system("pause");
}
C言語では、文字列を使って文字を並べることを習い始めたばかりの頃は、面倒に感じるかもしれません.
しかし、C言語の利点は、特定のインデックスの文字に直接アクセスできることです.
#include <stdio.h>

int main(void) {
	char a[20] = "Hello World"; 
	a[4] = ',;
	printf("%s\n", a); 
	system("pause");
}  // 'Hell, World'가 출력
例)出力文字列に含まれる「l」の数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
char a[] = "Hello World";
int count = 0;
for (int i = 0; i <= 10; i++) {
    if (a[i] == 'l') count++;
  }
  printf("%d\n", count);
  system("pause");
  return 0;
} //3이 출력 
1)アレイを使用すると、大量のデータを簡単に処理できます.
2)C言語の文字列は内部で文字の配列である.