IT/솔루션) 난 정말C... 없다구요
-
24장. 배열과 포인터, 포인터 연산) 문제 24-2 [1차원 배열 이름의 포인터 형 결정하기] - 2IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:13
24장. 배열과 포인터, 포인터 연산) 문제 24-2 [1차원 배열 이름의 포인터 형 결정하기] - 2 /* ======== type형 1차원 배열의 이름 = type형 포인터 ============ 위 공식을 적용하여 1차원 배열의 포인터 형을 결정하는 연섭을 해보자. 아래에 제시하는 배열 이름의 포인터형을 결정하고, 그 결정이 옳음을 증명하기 위한 예제를 작성하라. 문제 2. 다음 int형 포인터 배열 이름 iptrarr의 포인터 형을 결정하고, 이를 증명하는 예제를 작성하여라 int a = 10, b = 20, c = 30; int * iptrarr[3] = {&a, &b, &c}; */ #include #include int main(void) { int a = 10, b = 20, c = 30;..
-
24장. 배열과 포인터, 포인터 연산) 문제 24-2 [1차원 배열 이름의 포인터 형 결정하기] - 1IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:13
24장. 배열과 포인터, 포인터 연산) 문제 24-2 [1차원 배열 이름의 포인터 형 결정하기] - 1 /* ======== type형 1차원 배열의 이름 = type형 포인터 ============ 위 공식을 적용하여 1차원 배열의 포인터 형을 결정하는 연섭을 해보자. 아래에 제시하는 배열 이름의 포인터형을 결정하고, 그 결정이 옳음을 증명하기 위한 예제를 작성하라. 문제 1. char형 배열 이름의 포인터 형을 결정하고 이를 증명하는 예제를 작성하라. char str[30] = "Orange Media"; */ #include #include int main(void) { char str[30] = "Orange Media"; char * ptr = str; // 같은 char형이므로 대입 가능 in..
-
24장. 배열과 포인터, 포인터 연산) 문제 24-1 [포인터 덧셈 뺄셈 연산] - 2IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:12
24장. 배열과 포인터, 포인터 연산) 문제 24-1 [포인터 덧셈 뺄셈 연산] - 2 /* 우리는 23장에서 이중 포인터에 대해서 공부했다. 대표적인 이중포인터 선언은 다음과 같다. int ** dptr1; double ** dptr2; 위 선언 이후 포인터 dblptr1과 dblptr2에 각각 1을 더했을 때 증가하는 값의 크기는 얼마가 되겠는가? 생각을 해본 뒤, 확인하기 위한 예제를 직접 작성해보자. */ #include #include int main(void) { int n1 = 3; double n2 = 3.5; int * ptr1 = &n1; double * ptr2 = &n2; int ** dptr1 = &ptr1; double ** dptr2 = &ptr2; printf("ptr1의 값..
-
24장. 배열과 포인터, 포인터 연산) 문제 24-1 [포인터 덧셈 뺄셈 연산] - 1IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:11
24장. 배열과 포인터, 포인터 연산) 문제 24-1 [포인터 덧셈 뺄셈 연산] - 1 /* 프로그램 상에 다음과 같은 문자열을 선언하자. char * str = "He Is My Best Friend!"; 그리고 포인터 str을 이용해 문자열에 저장된 대문자의 개수가 몇 개인지 세어보는 프로그램을 작성하자. 이 문제의 해결을 위해 포인터 str을 이용한 포인터 연산을 해야만 한다. */ #include #include int main(void) { char * str = "He Is My Best Frined!"; int i = 0; int count = 0; while (1) { if (str[i] == '\0') break; else if (str[i] > 'A' && str[i] < 'Z') co..
-
23장. 포인터의 포인터, 포인터배열) 문제 23-2 [이중 포인터를 이용한 포인터 관계 변경하기]IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:10
23장. 포인터의 포인터, 포인터배열) 문제 23-2 [이중 포인터를 이용한 포인터 관계 변경하기] /* 먼저 예시를 하나 제시. int main(void) { int n1 = 100; int n2 = 200; int * ptr1 = &n1; int * ptr2 = &n2; int ** dptr = &ptr1; printf(" *ptr1 = %d \n", *ptr1); printf(" *ptr2 = %d \n", *ptr2); printf(" **ptr = %d \n", **dptr); system("pause"); return 0; } 위 예제의 결과는 다음과 같다. *ptr1 = 100 *ptr2 = 200 **dptr = 100 =========================== 코드를 삭제/변경 없..
-
23장. 포인터의 포인터, 포인터배열) 문제 23-1 [이중 포인터와 삼중 포인터]IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:09
23장. 포인터의 포인터, 포인터배열) 문제 23-1 [이중 포인터와 삼중 포인터] /* 포인터 변수 선언에서 *의 개수가 의미하는 바를 생각하면서 이번문제 해석하자. 포인터 변수 ptr1과 ptr2의 포인터인 dptr1과 dptr2가 몇번지에 할당되었는지에 대한 정보를 확인하고 출력하는 프로그램을 작성하자. 두 변수의 주소값은 일단 저장되어야 한다. */ #include #include int main(void) { int num1 = 3; double num2 = 3.5; int * ptr1 = &num1; double * ptr2 = &num2; int ** dptr1 = &ptr1; double ** dptr2 = &ptr2; int *** mdptr1 = &dptr1; double *** mdp..
-
22장. 포인터의 개념적인 이해) 문제 22-4 [포인터의 이해도 확인하기] - 2IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:08
22장. 포인터의 개념적인 이해) 문제 22-4 [포인터의 이해도 확인하기] - 2 /* 정수 1004008을 2진수로 표현하면 다음과 같다 1111 0101 0001 1110 1000 따라서 이를 부호 있는 4바이트 정수형으로 표현하면 다음과 같다 00000000 00001111 01010001 11101000 그렇다면 다음 코드 실행 시 포인터 변수 p가 가르키는 위치는 어디일까? int n = 1004008; int * p = &n; */ #include #include int main(void) { int n = 1004008; int *p = &n; char *pt = (char *)p; printf("%d\n", *pt); system("pause"); return 0; }
-
22장. 포인터의 개념적인 이해) 문제 22-4 [포인터의 이해도 확인하기] - 1IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:07
22장. 포인터의 개념적인 이해) 문제 22-4 [포인터의 이해도 확인하기] - 1 /* 프로그램상에서 다음과 같이 float형 변수 num을 초기화한다고 가정해 보자. float num = 3.15f; 이 때 변수 num에는 4바이트 메모리 공간이 할당되고 다음과 같이 데이터가 채워진다. 이 데이터는 실수 3.15를 4바이트 부동소수점 표현방식으로 표현한 결과이다. 01000000 01001001 10011001 10011010 거꾸로 말해서 이 데이터를 4바이트 부동소수점 표현방식으로 해석을 하면 3.15가 된다. 이 때 문득 한가지 궁금한 것이 생겼다. 위 비트 열을 부호 있는 4바이트 정수 표현방식으로 해석을 하면 얼마가 될까? (int형으로 해석을 하면 얼마가될까?) 이 궁금증을 해결할 수 있는..