EEALL@ONCE

📌(C-1) 다시 HELLO WORLD AGAIN WITH C (코딩 도장 따라하기) 본문

언어💻/C언어📌

📌(C-1) 다시 HELLO WORLD AGAIN WITH C (코딩 도장 따라하기)

올엣원스 2024. 1. 4. 16:17
728x90

전공자 동료가 그랬다,

프로그래머라면 C는 할 줄 알아야한다고

그래야 하드웨어 소프트웨어를 좀 이해한다고

그래서 시작하는 씨 ... 언어 


C언어에 좋은 튤은 VISUAL STUDIO다 . 

나는 자바로만 개발을 해봐서 인텔리제이가 너무 편했는데,

C언어 강의를 듣자마자 VS를 깔라고 하는거다. 

그래서 C언어 추천하는 동료한테 물어봤다.

왜 때무네 비쥬얼 스튜디오 깔아야하냐고.. 

그랬더니, C언어에는 비쥬얼 스튜디오가 적합하다고 한다. 

그래서 GPT한테 더 디테일하게 물어봤다 


왜? C언어 공부할 때 VS 사용해? 

👩‍💻 C 언어를 공부할 때 Visual Studio를 사용하는 이유와 IntelliJ와의 차이점을 설명하겠습니다.

Visual Studio 사용 이유 (C 언어 학습 시):

  1. 통합 개발 환경(IDE): Visual Studio는 Microsoft에서 제공하는 강력한 통합 개발 환경입니다. C, C++, C#, Visual Basic 등 다양한 언어를 지원합니다. 특히 C와 C++ 개발에 매우 적합합니다.
  2. 디버깅 도구: Visual Studio는 매우 강력한 디버깅 도구를 제공합니다. C 언어를 배울 때, 코드의 오류를 찾고 해결하는 과정이 중요한데, Visual Studio의 디버거는 이를 용이하게 해줍니다.
  3. 마이크로소프트 생태계와의 통합: Windows 개발에 최적화되어 있으며, Windows API와의 호환성이 뛰어납니다. 따라서 Windows 기반의 C 언어 프로그래밍을 배우기에 적합합니다.
  4. 다양한 확장 기능: Visual Studio는 다양한 플러그인과 확장 기능을 지원하여 개발 환경을 사용자의 필요에 맞게 맞춤 설정할 수 있습니다.

IntelliJ IDEA와 Visual Studio의 차이점:

  1. 언어 지원:
    • IntelliJ IDEA: 주로 Java 개발에 초점을 맞추고 있지만, Kotlin, Scala, Groovy 등 다른 JVM 언어에도 강력한 지원을 제공합니다. 또한, 플러그인을 통해 다양한 언어를 지원할 수 있습니다.
    • Visual Studio: C, C++, C#, Visual Basic 등의 언어에 강력한 지원을 제공합니다. 주로 .NET 개발과 Windows 기반의 개발에 적합합니다.
  2. 플랫폼:
    • IntelliJ IDEA: Java 기반으로, Windows, macOS, Linux에서 사용할 수 있습니다.
    • Visual Studio: 주로 Windows에서 사용되며, macOS 버전도 있지만 기능이 제한적입니다.
  3. 사용 목적:
    • IntelliJ IDEA: 주로 Java 및 JVM 언어 개발에 사용됩니다. 웹 개발, 안드로이드 개발 등에 강점을 보입니다.
    • Visual Studio: .NET 개발, 데스크톱 및 모바일 애플리케이션 개발, 게임 개발 등에 적합합니다.
  4. 사용자 인터페이스 및 경험:
    • 두 IDE 모두 직관적이고 사용자 친화적인 인터페이스를 제공하지만, 사용자 경험은 개발하려는 언어 및 플랫폼에 따라 다를 수 있습니다.

결론적으로, C 언어를 배우는 데 있어 Visual Studio는 Windows 환경에서 C 및 C++ 개발에 최적화된 툴과 기능을 제공하기 때문에 선호됩니다. 반면, IntelliJ IDEA는 주로 Java와 관련된 개발에 더 특화되어 있습니다. 따라서 사용할 언어와 개발 환경에 따라 적합한 IDE를 선택하는 것이 좋습니다.


그래서 대충  VS 잘 설치하고 코드를 뚝딱 뚝딱 쳐서 

#include <stdio.h>

int main()
{
    printf("Hello, world!\n");

    return 0;
}

컴파일 해보았다. 

 빌드(B) > 솔루션 빌드(B)  : F7 (단축키) 

디버그(D) > 디버그하지 않고 시작(H) : Ctrl+F5 (단축키) 

한번 빌드한 후에는, 

📌디버그하지 않고 시작(Ctrl+F5)을 실행하면 자동으로 소스 파일을 컴파일해준다. 


1. 문자뒤에 괄호가 붙어 있다면 함수다. 

printf / main 모두 함수거다. 

2. ; 붙이면 함수가 호출(call) 된다.

3. #include는 헤더 파일을 포함하는 문법이다. 

#include는 헤더 파일을 포함하는 문법이며 printf 함수를 사용하려면 stdio.h 헤더 파일이 필요하다고 하는데..

그래서 나는 좀 궁금했다. 이게 그럼 java에서 import랑 비슷한건가? 그런 개념인건가? 그래서 또 gpt 선생님한테

물어봤당.


👩‍💻

C/C++에서의 #include 지시어와 Java에서의 import 문은 유사한 역할을 하지만, 작동 방식에는 차이가 있습니다.

C/C++의 #include

  • 목적: #include 지시어는 주로 헤더 파일(.h 파일)을 포함시키는 데 사용됩니다. 이 헤더 파일에는 함수 선언, 매크로 정의, 구조체, 클래스 등이 포함될 수 있습니다.
  • 작동 원리: 프리프로세서에 의해 처리되며, 지정된 파일의 내용을 그대로 소스 코드 파일에 복사합니다. 이는 컴파일 과정 전에 발생합니다.
#include <stdio.h>  // 표준 입력/출력 관련 함수 포함
#include "myHeader.h"  // 사용자 정의 헤더 파일 포함

 

Java의 import

  • 목적: import 문은 다른 패키지에 있는 클래스, 인터페이스, 또는 다른 멤버들을 현재의 Java 파일에서 접근할 수 있도록 합니다.
  • 작동 원리: import는 컴파일러에게 해당 클래스 또는 패키지 멤버들을 이름으로 직접 참조할 수 있도록 지시합니다. 실제로 파일 내용이 복사되는 것은 아닙니다.
import java.util.ArrayList;  // java.util 패키지의 ArrayList 클래스를 포함
import java.util.*;  // java.util 패키지의 모든 클래스를 포함

차이점

  • 포함 방식: #include는 문자 그대로 파일의 내용을 복사하는 반면, import는 해당 클래스나 패키지를 참조하기 위한 경로를 제공합니다.
  • 처리 시점: #include는 프리프로세싱 단계에서 처리되고, import는 컴파일 단계에서 처리됩니다.
  • 언어 특성: #include는 C와 C++ 언어의 특성에 맞게 설계되었고, import는 Java의 패키지 시스템과 객체 지향적 특성을 반영합니다.

4. main함수는 젤 먼저 실행되는 함수이며, 없으면 프로그램이 컴파일되지 않는다. 


.c (내가 작성한 코드는)  -> compile -> .obj -> 실행 -> .exe 가 된다. 

728x90