[C언어] 1. 구조, 문장과 블럭, 주석, 토큰

이번에는 C언어의 공부하기 위해 꼭 알아야 할 기초 개념인 C언어 구조, 문장과 블럭, 주석, 토큰에 대해 알아보자





C언어 구조, 문장과 블럭

C언어 구조 알아보기


문장과 블록

1) 문장(statement)이란

  • 프로그래밍 언어에서 컴퓨터에게 명령을 내리는 최소 단위
  • 문장 마지막에 세미콜론(;) => 적지 않으면 컴파일 오류 발생

2) 블록(block)이란

  • 여러개의 문장을 묶은 것
  • {} 중괄호(curly brace)로 묶음
  • 들여쓰기(indetation): tab키를 사용해 블록 내부에서 문장들을 들여쓰기
    => 필수는 아니지만 가독성을 위해 강력 권장!




주석(comments)

주석(comments)이란?

1) 주석(comments)이란 👉 일반문장과 달리 프로그램에 영향을 주지 않는 설명문

컴파일 과정의 대상이 아니기 때문에 프로그램 실행, 실행파일의 속도와 크기에 영향을 주지 않음


2) 언제 작성하나

  • 코드에서 잠시 작동시키지 않을 곳을 지정할 때
  • 설명할 때

//한줄주석
소스 중간 => 구현방법, 작동방식 설명

/*
여러줄 주석 = 블록주석
*/
1) 프로그램의 처음: 작성자, 소스목적, 프로그램 전체구조, 파일정보(저작권 )
2) 함수의 시작: 프로그램 구현방법, 매개변수 설명


3) 잘 작성된 주석

  • 자신과 타인이 모두 이해할 수 있게 작성된 주석
  • 시각적으로 정돈된 느낌, 가독성이 좋은 주석
  • 프로그램 내용을 적절히 설명하는 주석


4) 주석 스타일 예시

/*
sol / project / source: ch02 / prj01 / comment.c
c 기초
v 1.0 2024.04.01 홍길동
*/
/*************************************************
소스: comments.c
내용: c언어 기초
버전: v 1.0 2024.04.01 홍길동
*************************************************/
/**
 *  소스: comments.c
 *  내용: c언어 기초
 *  버전: v 1.0 2024.04.01 홍길동
 **/





토큰(token)

토큰이란?

1) 토큰이란? 👉 C언어에서 가장 작은 단위 요소
2)토큰의 종류 👉 키워드, 식별자, 상수, 문자열, 구두점, 연산자

토큰의 종류

1) 키워드(예약어); keyword

  • 키워드란? 컴파일러에 의해 이미 의미가 정해져 있는 단어
    • 프로그램 코드를 작성하는 사람이 이 단어들을 다른 용도로 사용해서는 안 됨
    • C프로그램에서는 ANSI(미국표준화위원회)에서 지정한 기본적인 단어 사용, 컴파일러에 따라 추가되기도 함
키워드(keyword)설명 및 예시
기억부류변수의 생존 기간을 정하는 키워드
auto extern register static
제어문장일의 진행순서를 결정하는 키워드
if else switch case break defalt continue for do while goto return
자료형변수의 범위를 지정하는 키워드
char short int long float double signed unsigned void union enum struct typedef
그 외const volatile sizeof


  • 자료형
자료형 구분설명 및 종류
기본자료형
(basic data type)
기본이 되는 자료형
▫️ 정수형 short int long
▫️ 실수형 float double long double
▫️ 문자형 char =>컴퓨터는 문자를 정수로 처리해 정수형 취급하기도 함
▫️ 무치형 void
유도형
(deprived data type)
기본형에서 나온 자료형
array; 배열 pointer 포인터 function 함수
사용자정의형
(user defined data type)
기본형, 유도형을 이용해 사용자가 만드는 자료형
enumiration 열거형 structure 구조체 union 공용체



2) 식별자; identifiers

  • 프로그래머가 의미를 정한 단어: 변수명칭 상수명칭 함수명칭
  • 식별자 명명 주의사항
    1. 키워드 사용 불가능
    2. 영문자(대소문자 구분), 숫자, 밑줄(_)로 구성
    3. 첫 번재 문자는 영문이거나 _(되도록 사용X)
    4. 식별자 중간에 공백(space)가 들어갈 수 없음
    5. 용도에 맞고, 의미 있게(줄여쓰기X, 이니셜X)



3) 상수; constants

  • 변하지 않는 수, 변경이 불가능한 수



4) 문자열; strings

  • 큰 따옴표(“”) 안에 작성되는 텍스트



5) 구두점; punctuators

  • 의미를 강조하는 기호문자
구두점 종류의미
[]배열
()조건식, 함수, 포인터
{}제어블록, 배열의 초기화, 태그형틀
*포인터
,순차를 강조하는 쉼표연산자
;문장의 끝
=변수나 배열의 초기화
:goto, case의 레이블
생략부호
#전처리지시자



6) 연산자; operators

  • 연산에 사용되는 기호문자
연산자 종류연산자
대입연산자=
복합 대입연산자+= -= *= /= %=
산술연산자+ - * / %
관계연산자> >= < == !=
논리연산자&& \|\| !
조건연산자조건식 ? 수식1 : 수식2;
증감연산자++ --
비트연산자& \| ^ ~ >> <<