(kosta教育)プログラミングを学ぶ-7日間


プログラミングとは何かを勉強しています.
JavaScriptはcとpythonを結合しているような気がします(違います!)😉)

進捗状況

  • ユーザー関数の定義
    -関数のプロトタイプ(prototype)
  • 関数を定義する
  • 呼び出し
  • 関数
  • メモリ
    -スタック/ヒープ/データ領域
  • 値によるコピー:値のみをコピーして使用します.(元の保存)
    リファレンスによるコピー:アドレスをコピーして参照します.(メモリ節約)

    カスタム関数

    #include <stdio.h>
    
    int Add(int a, int b) {
    	int c = 0;
    	c = a + b;
    	return c;
    }
    
    int main() {
    	
    	int i, j, hap;
    	printf("두 개의 정수를 입력하세요.\n");
    	scanf_s("%d%d", &i, &j);
    
    	hat = Add(i, j);
    	printf("두 정수의 합은 %d 입니다.\n", hap);
        
    	return 0;
    }
    関数プロトタイプ(prototype)を上部に書き、mainを最初に書くことができます.
    #include <stdio.h>
    
    int Add(int a, int b);
    
    int main() {
    	
    	int i, j, hap;
    	printf("두 개의 정수를 입력하세요.\n");
    	scanf_s("%d%d", &i, &j);
    
    	hat = Add(i, j);
    	printf("두 정수의 합은 %d 입니다.\n", hap);
        
    	return 0;
    }
    
    int Add(int a, int b) {
    	int c = 0;
    	c = a + b;
    	return c;
    }
    または、ヘッダファイルのみを個別に収集できます.
    #include <stdio.h>
    #include 'test.h' // 따로 헤더파일만 모아놓은 곳
    
    int main() {
    	
    	int i, j, hap;
    	printf("두 개의 정수를 입력하세요.\n");
    	scanf_s("%d%d", &i, &j);
    
    	hat = Add(i, j);
    	printf("두 정수의 합은 %d 입니다.\n", hap);
        
    	return 0;
    }
    
    int Add(int a, int b) {
    	int c = 0;
    	c = a + b;
    	return c;
    }

    void型関数


    結果値を返さない関数
  • int main(void){
    	int a;
        int b;
        
        return 0;
    }
    
    void print_Hap(int result){
    	printf("두 수의 합은 %d 입니다.\n");
    }

    練習問題


    例1

  • の横と縦を入力し、矩形の幅を求めます.
  • を除いて、問題は多くなくて、簡単で、スキップしましょう!
  • #include <stdio.h>
    
    void Rect(int width, int height);
    
    int main() {
    	
    	int w, h;
    	printf("가로와 세로를 정수로 입력하세요:");
    	scanf_s("%d%d", &w, &h);
    	Rect(w, h);
    
    	return 0;
    }
    
    void Rect(int width, int height) {
    	printf("사각형의 넓이는 %d", width * height);
    }

    メモリ

  • スタック/スタック/データ領域
  • スタックFILO-下部閉鎖
  • 最初のホットスワップ-
  • を上下に開く
  • 領域変数の関数を使用してオフにすると、変数とメモリが切断されます.
  • #include <stdio.h>
    
    void func1();
    void func2();
    
    void main(void) {
    	int val = 0;
    	printf("첫 번재 메모리 할당: val = 0\n");
    	func1();
    	printf("두 번째 메모리 소멸: val = 10\n");
    }
    
    void func1() {
    	int local = 10;
    	printf("두 번째 메모리 할당: local = 10\n");
    	func2();
    	printf("세 번째 메모리 소멸: local = 20\n");
    }
    
    void func2() {
    	int local = 20;
    	printf("세 번째 메모리 할당: local = 20\n");
    }
  • パラメータも領域変数です.
  • 関数のパラメータもスタックメモリに割り当てられた領域変数です.
  • int func(int a, int b){
    	int result = 0;
        
        a = a + 1;
        b = b + 1;
        result = a + b;
        
        return result;
    }
  • グローバル変数
    -mainの外で発表します.
    -注意してください.
  • int global;
    
    void main(void){
    	int val = 0; // 지역 변수
        func1();
    }
    
    void func1(){
    	int local = 10; // 지역 변수
    }