개요

c언어의 기초 개념

 


식별자

C 프로그램에서 여러 요소를 구분하는 이름

 

- 특수한 의미를 갖는 키워드는 제외한다.

- 숫자로 시작할 수 없다.

- 대소문자를 구별한다.

 

식별자(Id)는 구체적으로 적어야 가독성이 좋다

*코딩 컨벤션(Coding Convention) : 코드의 가독성을 위한 코딩 규칙

 

 

선언 과 정의

- 선언 : 식별자를 프로그램에 알려주는 행위

- 정의 : 식별자에 대한 모든 정보를 제공하는 선언

- 선언을 통해 식별자에 의미와 속성을 지정

 

식별자는 선언될 때 범위를 가지며, 네 개의 이름공간중 하나에 속하게 된다.

서로 다른 범위나 번역 단위를 가질 때, 그것을 참조할 수 있는 연결(Linkage)을 가진다.

 

범위

- 블록 범위 : 복합 구문 안 쪽 에서

- 파일 범위 : 파일 전체에서

- 함수 범위 : 함수 내 레이블

- 함수 프로토타입 범위 : 매개변수 목록에 소개된 식별자 

 

이름 공간

- 레이블 이름 공간

- 태그 이름 공간

- 멤버 이름 공간

- 일반 이름 공간

 

 


구문 (명령문)

- 복합 구문 (Compound Statement) : 블록(Block)

- 식 구문 (Expression Statement) : 계산을 할 수 있는 구문으로 연산자와 피연산자의 시퀀스

- 분기문 (Selection Statement) : 식의 결과에 따라서 선택지를 제공하는 구문 / if , switch

- 반복문 (Iteration Statement) : 조건에 따라 특정 구문을 반복하는 구문 / for , while

- 점프문 : 조건에 관계 없이 어떠한 곳으로 이동하는 구문 / break , countinue , goto

 

 


주석

- 코드를 읽는 사람에게만 효과가 있다.

- 코드의 의미 (코드를 작성한 이유) 를 설명

 

 


 객체 (Object)

- 메모리, 데이터를 조작하는 영역

 

크기 (Size) : 바이트의 개수

정렬 요건 (Alignment Requirement) : 연속적인 바이트 개수

기억 존속 시간 (Storage Duration) : 얼마나 오래 가질 수 있는지

수명 (LifeTime) : 객체가 유효한 시간 (= 기억 존속 시간)

값 (Value) : 데이터

식별자 (Identifier) : 객체의 이름

 

타입

- 객체에 저장된 이진수나 식에서 평가된 이진수

 

정수 (Integer) : int , signed char , short , long , long long

실수 (Floating-point) : float , double , long double

문자 (Character) : char

 

Conversion

- 데이터를 다른 타입으로 해석하는 것

 

1) 암시적 변환

- 피 연산자의 타입이 연산자의 결과 타입과 매치되지 않을 때, 데이터를 보존하는 방향으로 변환

ex) int + float -> float / float + double -> double

 

2) 명시적 변환

float playerAttackSpeed;

double playerTotalSpeed = (double)playerAttackSpeed;

- float 값인 playerAttackSpeed가 double로 명시적 변환되어 playerTotalSpeed에 대입된다.

 

* 주의!!

(signed char) 1024  : 10비트를 8비트로 명시적 변환

 

 

변수와 상수

변수 : 데이터를 저장할 수 있는 객체

상수 : 데이터가 변하지 않는 객체 (const를 사용하여 선언할 수 있음)

* const로 선언된 상수를 변경하면 오류가 발생한다. (변할 필요가 없는 상수는 상수 선언해주자)

 

 


입출력

- #include <stdio.h> 를 사용하여 입출력 라이브러리를 사용한다.

 

1) 입력

scanf("%d %d", 값, 값)

 

2) 출력

printf("%d %d", 값, 값)

- %04d : 0020 (자리 수)

- %.3d : 0.001 (소수점 자리 수)

 

 


배열

비슷한 성질의 여러 객체를 한 번에 다루고자 할 때 사용한다.

 

 

배열을 선언할 때는 1부터 시작하지만, 사용할 때는 0번 배열부터 시작한다.

 

 

문자열의 배열

문자열 배열은 char 타입의 배열을 의미한다.

문자열의 끝은 Null 문자로 판단하여 실제 사용하는 문자 수에 Null 문자를 포함한 크기를 갖고 있다.

 

 

문자열 배열은 문장으로 대입이 불가능하다.

 

 


함수

함수는 코드를 재사용하기 위하여 일련에 과정에 이름을 붙인 것이라 할 수 있다.

함수는 0개 이상의 매개변수(Parameter)를 가질 수 있다.

함수는 return 구문을 사용해 호출자에게 결과값을 반환할 수 있다.

 

매개 변수는 호출 연산자를 사용할 때 인자(Argument)에 의해 초기화 된다.

 

 

 

 

 

 

 

 

 

 

 


포인터

포인터는 다른 객체나 함수를 가리킬 수 있는 타입이다.

포인터는 값을 메모리 주소값으로 해석한다.

 

간접 참조 : 포인터를 사용하여 접근하는 것

 

 

 

 

 

 

 

 

 

728x90

'Program > C (C++,C#)' 카테고리의 다른 글

[C] 객체 ( Object )  (0) 2022.05.07
[C] 식별자 ( ID / Identifier )  (0) 2022.05.07
[C++] 구조체  (0) 2022.04.15
[C++] 콘솔용 탈출게임  (0) 2022.04.13
[C++] 배열  (0) 2022.04.13

+ Recent posts