본문 바로가기

개발 공부/C언어25

#7 C언어 포인터 변수의 크기, 1비트는 몇 바이트일까 쌈박하게 결론부터 8비트 = 1바이트 '바이트'가 글자수 3개로 더 많으니 더 긴 데이터 단위라고 생각하면 어떨까요? 포인터 변수는 4바이트가 될 수도 8바이트가 될 수도 있습니다. 컴퓨터를 살때 32비트 시스템 64비트 시스템 이런게 적혀져 있는데 바로 이게 포인터 변수가 저장하는 주소값의 크기입니다. 포인터 변수의 크기는 주소값의 크기와 일치하기에 4바이트 혹은 8바이트가 될 수 있다는 것. 내 컴퓨터는 64비트 시스템이니까 포인터 변수의 크기는 8바이트라는걸 알 수 있습니다!! 끝 2022. 8. 1.
#6 C언어 사칙연산할 때의 자료형 변환 double c= int a/ double b; int인 a를 double인 b로 나누면 결과는 double??int??? 정답! double!!! CPU는 같은 자료형의 두 피연산자를 대상으로만 연산이 가능하도록 설계되어 있습니다. (a와 b가 피연산자이다.) 그러므로 a와 b는 컴파일 에러가 떠야하는데 어떻게 실행이 되는걸까요? 답은 '자동 형 변환'이 일어나기 때문입니다. 직관적으로 생각했을때 보다 넓은 수의 범위를 포함하는 자료형으로 자동 형 변환이 일어납니다. int는 정수고 double은 소수점까지 포함하니까 직관적으로 int가 double로 승격이 일어나는거!!! 책을 보면 int -> long -> long long -> float -> double -> long double 순으로 자동 .. 2022. 8. 1.
#5 C언어 (++i, i++) 후위연산 전위연산 차이점 쉽게 이해하는 법 결론 먼저 int result = ++num; 은 ++먼저 연산 후 속한 문장 나머지를 실행합니다. int result = num++;은 속한 문장 실행 후 줄이 바뀔 때 ++를 실행합니다. 줄이 바뀔 때를 잘 기억하는게 매우 매우 중요하고 잊어버리지 않는 포인트라고 할 수 있습니다. int result = (i--)+2; 와 int result= (--i)+2; 의 차이를 아시겠나요? int result =(i--)+2;는 result = i+2; 를 먼저 실행 후에 줄이 바뀔 때 i-1;이 됩니다. int result =(--i)+2;는 i-1;을 계산 한 후 result=i+2;가 됩니다. 끝! 2022. 7. 31.
#4 C언어 main에서 return 0, return -1 의 뜻 열혈 c 프로그래밍 Part01 도전 5 답안 문제 : 10개의 소수(Prime Number)을 출력하는 프로그램을 작성해보았습니다. return 0의 뜻은 제일 아래에 있음 #include int main(){ int PrimeNum; //소수 저장 변수 int turn=0; //소수 개수 세는 변수 for (int i=2;i 2022. 7. 31.
반응형