본문 바로가기

C언어/강의

2010년 10월 14일 목요일 (포인터 & little endian) address 952 953 M 956 957 L 960 961 K 964 965 J I 968 969 H 972 971 G 976 977 F 980 981 E 984 983 D 988 987 C 992 993 B 996 997 A 1000 1001 메모리 (4byte) address int A; // 4byte int B; // 4byte int C; // 4byte int D; // 4byte float E; // 4byte float F; // 4byte float G; // 4byte float H; // 4byte short I; // 2byte char J; // 1byte int *K; // 4byte char L; // 1byte char *M; // 4byte 시작 주소가 4byte이기 .. 더보기
2010년 10월 13일 수요일 (포인터변수) #include int main() { int iNum; // int *ip1; //// int *ip2; iNum=100; ip1=&iNum; // 일반변수앞에 &를 붙이면 ip1과 같은 포인터변수로 선언된다. ip2=(int*)0XBFFFFBF8; //*iNum; 일반변수앞에는 *붙이면 오류가 뜬다.(다항연산자처리) *ip1; //포인터변수에는 붙여도 오류가 안뜸.(간접참조) printf("iNum value : %d\n", iNum); printf("iNum address : %08X\n", &iNum); printf("ip1 value : %08X\n", ip1); printf("*ip1 value : %d\n", *ip1); printf("ip2 value : %08X\n", ip2); prin.. 더보기
2010년 10월 12일 화요일 (소수 출력 & 포인터) 원하는 수의 소수를 출력하는 프로그램. 포인터 변수의 값과 주소 컴파일러 ☜ 메모리주소를 할당해줌 %p ☜ 16진수표현으로 출력(리눅스) 모든 변수는 주소값을 가진다. int *ip ☜ 여기서 *는 곱하기표시가 아니라 포인터라고하며 포인터typeip라고 한다. 포인터변수의 크기는 4바이트다. int *ip 나 char *cp나 float *xp나 4바이트라는 말이다. 이유는 주소를 저장하기 때문에 주소가 4바이트기에 4바이트를 사용한다.(컴퓨터의 비트에따라 달라짐) 더보기
2010년 10월 11일 월요일 (for 문) int main() { int num; num=0; while(num 더보기
2010년 10월 08일 금요일 ( switch 명령문 & getchar()/putchar() 문 & while() 명령문 ) switch 문 switch (score) { case 10 : // 정수 10이 올 경우 grade='A'; break; // switch 문 종료 case 9 : // 정수 9가 올 경우 grade='B'; break; ↓ ↓ default : // 해당사항 없을 경우 grade='F'; break; } 스위치문에는 논리식을 쓸수 없다. 경우가 많을 경우에 if문보다 유용하다. score 값이 10이면 10으로 점프 grade='A';실행하고 종료 9면 9로 점프 해당사항이없다면 default로 간다. getchar / putchar 문 #include int main () { char ch; printf("Please enter any character: "); ch=getchar(); // 문자입.. 더보기