자료구조와 컴퓨터 원리를 이해하기에 좋은 언어
C언어의 기본 구성 요소는 함수이다.
int main(void)
{
}
: main
: void
: int
함수의 영역은 {
와 }
사이에 함수를 정의한다.
int main(int x)
// y = f(x)
{
return 2*x;
// y = 2x
}
#include <stdio.h>
int main(void)
{
printf("Hello,world!\n");
return 0;
}
Hello,world!
#include <stdio.h>
/*
#include
- 포함한다는 의미, #이 붙으면 전처리기를 나타낸다
- main이 컴파일의 시작점이다. 즉, 컴파일 전에 처리하겠다는 뜻
<stdio.h>
- .h 확장자 : 헤더파일
- stdio.h 를 포함하겠다는 의미, 포함하지 않으면 pritnf 함수를 사용할 수 없다.
- stdio.h : standard input output (표준 입출력)
>> 컴파일 하기 전에 stdio.h를 가지고 와서 시작
*/
int main(void)
{
printf("Hello,world!\n");
/*
- printf는 stdion.h에 정의되어 있는 함수
- C언어같은 컴파일 언어의 문장들은 마칠 때 반드시 세미콜론(;)을 찍어주어야 한다(마침표의 역할)
but 전처리기는 예외
*/
return 0;
/*
- 리턴값 0 자체의 의미는 없음
- 함수의 수행이 끝남을 의미함
*/
}
협업시 코드를 수정할 경우 기록을 남겨놓는다.
/*
date : 2022.3.11
author : James
remark : "hello world" to "Hello,world!"
*/
C언어에서 변수는 '변경이 가능한 수'를 의미한다.
메모리 주소를 기억하고 넣고 빼는 번거로움을 줄여주기 위해(메모리를 편리하게 핸들링)하기 위해 변수를 사용한다.
기본형 - 정수형(short, int, long), 실수형(float, double), 문자형(char)
유도형 - 배열형([]), 포인터형(*), 구조형(struct)
컴파일 언어는 자료형을 선언한 후 사용하지만, 인터프리터 언어의 경우 알아서 결정해준다.
#include <stdio.h>
int main()
{
// 변수 선언 후 값을 대입
// 메모리 할당 (4byte) > 메모리 value라는 이름 붙여줌 > 100값을 저장
int value;
value = 100;
// 변수 선언과 동시에 초기화
int num = 5;
/*
value case와 num case간의 차이가 있을까?
value case의 경우 메모리에 가비지값을 넣은 후 100 값을 저장
*/
return 0;
}