전체 글

하고 싶은 것들을 하며 성공하기
변수 값을 출력하기 위해선 꼭 변수 선언과 값 초기화를 해줘야 한다. 선언과 동시에 초기화를 해도 되고, 선언 뒤에 초기화를 해도 되지만 꼭 초기화를 해야한다는 이야기이다. 아래는 변수 이름을 정할 때의 규칙을 소개해드려고 한다. 이 규칙들을 지키지 않으면 컴파일 단계에서 에러가 발생하므로 꼭 주의하길 바란다. 1. 변수 이름은 문자나 숫자 또는 _(밑줄)로 구성할 수 있으나 숫자로 시작할 수는 없다. ex) int _3a; (가능), int 3a; (불가능) 2. 변수 이름은 대/소문자를 구분한다. ex) int a;와 int A;는 서로 다르다. 3. C 언어에서 예약어 키워드는 사용할 수 없다. ex) int float;과 double int;는 불가능하다. 4. 특수 문자는 변수 이름에 들어갈 수..
지금까지 변수를 선언하고, 정수나 실수 등 숫자로 초기화하는 것들만 다뤄봤는데 이번엔 문자로 초기화하는 것을 다뤄보겠다. 컴퓨터는 2진법만 이해할 수 있으므로 문자도 2진법으로 표현해준다면 충분히 표현할 수 있다. 그래서 공통적으로 모두 하나의 규격으로 사용하자라고 만든 것이 아스키 코드이다. 이는 따로 외우지 않아도, 표를 보면서 사용할 수도 있고, 숫자로 초기화하는 것 뿐 아니라 직접 문자를 넣을 수 있다. 직접 확인해보자. 이 때 문자형은 새로운 자료형 변수 선언 형태를 띄는데 char(character variable)을 사용한다. 이 값은 아래와 같이 나온다. 문자 자료형에 숫자로 입력하면 그에 해당하는 문자가 출력이 되고, 작은 따옴표(') 안에 사용하고자 하는 문자를 직접 넣어도 변수 초기화..
1. 변수의 저장 범위 int는 정수를 저장하는 데 필요한 메모리 공간을 4바이트 사용한다. 컴퓨터는 2진수로만 정보를 처리하고, 이때 0과 1을 저장할 수 있는 메모리 공간을 비트라고 한다. 비트는 컴퓨터가 정보를 저장하는 최소 공간으로, 8개의 비트가 모인 공간을 바이트라고 한다. 그러므로 4바이트는 32비트와 같다. 정리하면 n비트로 저장 가능한 숫자의 범위는 0 개부터 (2^n-1) 개까지 이다. 예를 들어 4바이트는 32비트이므로 n = 32이다. 2^32 = 4,294,967,296 이고, 모든 정수는 양수와 0 그리고 음수까지 표현하기 때문에 2로 나눈 -2,147,483,648 부터 2,147,483,647까지 나타낼 수 있다. 다시 말해 이 범위를 벗어나면 int 자료형을 사용해서 저장할..
1. 변수 선언과 동시에 초기화 int a; // 정수형 변수 a 선언 a = 5; // 변수 a 초기화 변수 선언과 초기화를 동시에 할 수 있는데 그것은 아래와 같다. int a = 5; 2. 응용 예시 1) int a; int b; int c; int d; int e; 5개의 변수를 선언하기 위해 위와 같이 했지만, 컴퓨터 프로그래밍 언어는 보통 같은 단어를 반복해서 사용하는 것을 피하려는 경향이 있다. 그러므로 아래와 같이 정리할 수 있다. int a, b, c, d, e; 2) int a = 3; int b, c; => int a = 3, b, c;
sizeof(a)는 a를 저장하는 데 필요한 바이트 수를 알려주는 연산자이다. 따라서 sizeof(int)는 int 자료형 변수를 저장하는 데 몇 바이트를 사용하는지 알려준다. 실행 결과로 4가 나오게 되는데 정수형 변수를 저장하는 데는 4 Byte의 메모리가 할당됨을 확인할 수 있다. 위 사진은 위의 printf 함수를 실행한 결과이다. 이 코드에서처럼 int 자료형 변수를 선언하면 4바이트, 즉 32비트의 메모리 공간이 생깁니다. Tip) 사람이 사용하는 숫자는 0~9까지이며 이를 10진수라고 한다. 하지만 컴퓨터는 0과 1 두 가지 숫자만 사용하며 이를 2진수라고 한다. 컴퓨터는 '전기가 켜졌다' 또는 '전기가 꺼졌다'와 같이 두 가지 상태로 표시할 수 있으며, 다양한 문제를 모두 0과 1로만 표현..
1) 변수를 선언할 때 한 가지의 숫자가 아니라 연산을 중간에 포함시킬 수 있다. 2) %d는 1장에서 언급했듯이 서식 지정자이다. 이때 d는 decimal 즉, 10진수의 약자로 %d는 곧 '10진수로 값을 출력하겠다'는 의미입니다. 10진수는 정수이므로 %d에 해당하는 변수는 반드시 정수형 변수여야만 합니다. 3) 서식 지정자 %d가 나오면 꼭 뒤에 콤마가 오고, 변수나 상수가 오게 된다. %d는 정수 자료형 변수이므로 정수 이외에는 올 수 없다. C언어에서 곱셈 연산자는 x가 아니라 *이다.
1) 정수형 변수 선언인 int에 앞서 const를 넣어주면 더이상 변하지 않는, 즉 고정적인 값인 상수를 선언할 수 있게된다. 이는 정수형 변수뿐 아니라 모든 변수 선언에도 적용된다. 변수는 값을 계속 바꿀 수는 있지만 상수는 값이 변하지 않는다. 2) 위 사진대로 디버깅을 하게 되면, 아래 사진처럼 printf 함수에서 가장 가까이서 선언된 YEAR라는 변수의 값인 2004를 출력하게 된다. 3) 하지만 처음 선언한 정수형 변수 앞에 const를 붙이면 이 값은 상수가 되고, 더이상 변할 수 없는 값이 되어버린다. 그래서 이후에 이 값에 다른 값을 선언해도 변하지 않는다. 그래서 오류가 나온 것을 아래에 가져왔다. 4) 그래서 만약 같은 변수에 동시에 변수를 선언했다면, 위처럼 상수로 선언되지 않은 ..
1) 실수형 변수 선언으로 float과 double이 있다. 2) float은 변수 선언하고, 동시에 값을 대입해줄 때 값 뒤에 f를 꼭 붙여준다. f는 부동 소수점(floating point)의 약자이다. 부동 소수점은 실수를 저장할 수 있는 자료형의 한 종류이다. 3) float을 출력하기 위해선 정수 %d와 다르게 %f를 사용한다. 그리고 자신이 원하는 소수점 자릿수대로 출력이 가능하다. 그러기 위해 % 와 f사이에 마침표와 원하는 소수점 자릿수의 개수만큼 숫자를 넣는다. 예를 들어 위 사진 같은 경우 f라는 변수의 값이 소수점 첫 번째 자리까지 출력된다. \n은 1장에서 언급했지만, 한 줄 띄기 문자 또는 개행 문자(new line character)라고 한다. 출력 도중에 이 문자를 만나면 줄 ..
jayoon
자윤 블로그