못정함

C언어) 3-1장 변수 : 내가 모르는 거 위주로 본문

C언어 공부/C언어 독학 (교재)

C언어) 3-1장 변수 : 내가 모르는 거 위주로

hadara 2024. 9. 14. 17:54

변수: 데이터를 저장하는 메모리의 공간

초기화하다 = 대충 변수에 값 넣어주는 행위...인 듯

초기화하지 않으면 변수에 쓰레기 값이 들어있음. 초기화 꼭 해주자.

 

정수 int
출력 %d
실수 double *유효숫자가 15자리로 많아서 이걸 사용하는 것임
출력 %lf
문자 char
출력 %c
문자열 (배열임) char 배열이름[문자열의길이+1이상]
*컴파일러가 문자열의 끝에 null character를 자동으로 추가하기 때문

ex) char fruit[6] = "apple";

출력 %s
*printf("딸기잼 : %s %s\n", fruit, "jam"); //문자열 상수를 직점 %s로 출력할 수 있음


*배열은 초기화 시에만 대입연산자 (=)를 사용가능하고
그 후에 새로운 문자열을 저장하려면 strcpy 함수를 써야함
#include <string.h> 해줘야함

기타 정수 자료형 -short
-long
-long long

근데 잘 안쓴다. 보통 정수형은 int(4byte)를 씀


-양수 전용: unsinged / %u로 출력해야함 (%d쓰면 큰일남)
%d는 부호있음 / %u는 부호무시

기타 실수 자료형 -float (유효숫자 7자리)
-double (유효숫자 15자리)
-long double (유효숫자 15자리 이상)

*유효숫자 가능 자리를 초과한 수를 할당하면 출력 시 초기값과 달라질 수 있음

*그래서 double을 기본형으로 씀 (유효숫자 커서)



 

const

-상수처럼 쓰려고 사용함
-const를 사용한 변수는 초기화된 값을 바꿀 수 없음 (변수 type 앞에 const 적어주면 됨)


const 자료형 변수명 = 값; 

*반드시 선언과 동시에 초기화 해줘야함

 

기타

자료형 (정수형임) 크기(Byte) 출력 시
char 1 %c 또는 %d
short  2 %d
int 4 %d
long 4 %ld
long long 8 %lld
unsinged char 1 %u
unsinged int 4 %u
unsinged long 4 %lu
unsinged long long 8 %llu

 

<선언>

int a; 

(자료형과 변수명을 나란히 씀)

*반드시 원하는 값으로 초기화해줘야함

a = 10;

이렇게 (=는 대입연산자라고 부름)

*선언한 변수는 {}중괄호의 블록 안에서만 사용할 수 있는 듯??

*변수의 자료형이 같으면 동시에 둘 이상의 변수를 선언 가능) int a,b,c;

 

tmi)

char형 변수는 출력할 때 %c를 사용하면 변수에 저장된 값을 아스키코드 값으로 출력

%d를 사용하면 정수로 출력

 


<예약어와 식별자>

예약어: reserved word (key word) -컴파일러처럼 사용 방법이 약속된 단어

ex) 변수 선언 시 자료형 이름(int)은 예약어
char, float, int, long, if, for, while 같은 애들
식별자: identifier -필요에 따라 만들어 사용하는 단어

ex) 변수 선언 시 변수명은 식별자

-알파벳 대소문자, 숫자, 밑줄(_)로 만듦
-숫자로 시작 X
-대소문자 구별 O
-예약어는 식별자로 사용 X

 

예약어의 종류

자료형 char double enum float int long short signed struct union unsigned void
제어문 break case continue default do else for goto if return switch while
기억클래스 auto extern register static
기타 const sizeof typedef volatile