2장 형, 연산자, 수식

2.1 변수명

실습 전 이론

변수명, 상수명에는 약간의 제한이 존재

변수명은 문자와 숫자로 이뤄지는데, 첫번쨰 글자는 무조건 영문, "_" 도 문자로 취급됨, 밑줄로 변수명 시작은 불가

대문자와 소문자는 완전히 구분된다.

C언어에서는 관습적으로 변수명에는 소문자를, 상수명에는 대문자를 써왔다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

한 함수의 내에서만 사용되는 변수의 이름은 31개의 문자로 구별한다.

함수이름과 외부변수 등의 외부 이름으로 31보다 적은 수의 문자를 사용하는 경우도 있는데, 어셈블러나 로더 중 짧은 이름만 처리할 수 있는 것이 있기 때문. (이름의 길이에 대한 제약 설명인 듯)

외부 이름에 대해서 ANSI 표준은 6개 문자에 대해서만 유일성을 보장한다. 즉 abcdefg 와 abcdefh는 같은 이름으로 취급된다. (????)

(옛날의 구형 컴퓨터에선 앞 6개만 읽었다고 한다. 즉 abcdef 까지 밖에 못 읽으니 g 나 h 까지는 식별을 못했다고 함)

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

if 나 else, int float 등은 예약어이므로 소문자로만 써야하고, 변수명으로 사용해서는 안된다.

변수명은 사용 목적에 관계된 이름을 붙여야 오타를 방지할 수 있다.

지역변수, 특히 순환문에는 짧은 이름을 쓰고, 외부 이름에는 긴 이름을 쓰는 경향이 있다.

실습



실습 후 이론

2.2 데이터 형과 크기

실습 전 이론

C에는 다음과 같은 몇 개의 기본적인 데이터 형이 있다.

image.png

위 기본형에는 몇 개의 한정사가 붙을 수 있는데 정수형에는 short와 long을 쓸 수 있다.

short int sh;

long int counter;

이런 선언문에서 int란 단어는 보통 생략.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

int, short, long의 길이는 하드웨어나 컴파일러에 따라 다르게 정해진다,

보통 short 는 16비트 long은 32비트가 된다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

문자나 정수에는 부호형(signed) 또는 무부호형(unsigned) 이라는 한정사를 붙일 수 있다.

무부호형 수는 항상 0보다 크거나 같고 크기는 2의 n승으로 정해진다. (2,4,8,16 등등 2의 제곱 중에서 결정되는 듯)

부호 문자형은 -128에서 127까지의 (2의 보수 기계에서) 값을 갖는다.


위에서 2의 보수 기계에 대해 알아봤다.

숫자는 1바이트에 저장되는데 총 1 바이트에는 256까지의 수를 셀 수 있다.

그러나 그것은 양수만 셋을때의 경우이기 때문에 음수를 표현하려면 해당 범위를 반반 나눠가져야하는데,

음수로 -128, 양수로 128 로 나눴다고 생각하면 0 이 남는다. 여기서 위에서 말한 2의 보수 기계에서는 0이 양수에 포함되었다고 계산한다.

그럼 양호 128 에 0 을 포함시켜야 하니 양수가 가질 수 있는 값은 0~127이 된다.

음수는 그대로 -128 까지, 두 음,양수의 범위가 다른 이유다.

1의 보수 기계의 경우 -0 과 +0을 구분하여 음수는 -127까지 양수는 127까지 범위를 가진다.


실습



실습 후 이론