Command Line Arguments

Command line arguments allow programs to receive input directly from the command prompt. For example:

gcc -o hello hello.c

In this example, the command line arguments passed to gcc are -o, hello, and hello.c. These arguments tell gcc what specific tasks to perform, like compiling hello.c into an executable named hello.

  1. Main Function Signature: To handle command line arguments in your own programs, the main function should be written as follows:

    int main(int argc, char **argv) {
    // Your code here
    }
    

    The first element, argv[0], holds the name of the program as invoked (e.g., ./a.out).

  2. Example Code:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char **argv) {
    printf("Hello, my name is %s\\n", argv[0]);
    return EXIT_SUCCESS;
    }
    

    This program prints out the name used to invoke it and then exits.

  3. Accessing Command Line Arguments:

  4. Converting Arguments:

  5. Frame Layout Example: When running the command:

    ./myProgram input.txt -n 42

  6. Common Access Patterns:

  7. Error Handling: Programs should check argc to ensure the correct number of arguments are supplied. Accessing elements of argv without sufficient arguments can lead to segmentation faults.


명령줄 인수

명령줄 인수는 프로그램이 커맨드 프롬프트에서 직접 입력을 받을 수 있게 해줍니다. 예를 들어:

gcc -o hello hello.c

이 예시에서 gcc에 전달된 명령줄 인수는 -o, hello, hello.c입니다. 이 인수들은 gcc에게 무엇을 해야 하는지(예: hello.chello라는 실행 파일로 컴파일) 알려줍니다.

  1. 메인 함수 서명: 명령줄 인수를 처리하려면 main 함수를 다음과 같이 작성해야 합니다:

    int main(int argc, char **argv) {
    // 코드 작성
    }
    

    첫 번째 요소인 argv[0]은 프로그램의 이름을 포함합니다 (예: ./a.out).

  2. 예제 코드:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char **argv) {
    printf("Hello, my name is %s\\n", argv[0]);
    return EXIT_SUCCESS;
    }
    

    이 프로그램은 실행 시 사용된 이름을 출력한 후 종료합니다.

  3. 명령줄 인수 접근:

  4. 인수 변환: