분류 전체보기
-
24장. 배열과 포인터, 포인터 연산) 문제 24-3 [언제나 동일한 arr[i]와 x(arr+i)]IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:16
24장. 배열과 포인터, 포인터 연산) 문제 24-3 [언제나 동일한 arr[i]와 x(arr+i)] /* arr[i]와 *(arr+i)는 언제나 동일하다. 이러한 특성은 다차원 배열에도 성립한다. 아래의 코드에서 *를 없애서 순수한 배열 접근의 형태로 변경해보자. */ #include #include int main(void) { int arr[3][4] = { { 1 } , { 2 } , { 3 } } ; int i = 0; int j = 0; (*(arr + 2))[3] = 20; //책 좀 이상함 *(arr[1] + 3) = 30; *(*(arr + 2) + 1) = 40; *(*arr + 2) = 50; **arr = 70; for (i=0; i < 3; i++) { for (j=0; j < 4..
-
24장. 배열과 포인터, 포인터 연산) 문제 24-2 [1차원 배열 이름의 포인터 형 결정하기] - 3IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:14
24장. 배열과 포인터, 포인터 연산) 문제 24-2 [1차원 배열 이름의 포인터 형 결정하기] - 3 /* ======== type형 1차원 배열의 이름 = type형 포인터 ============ 위 공식을 적용하여 1차원 배열의 포인터 형을 결정하는 연섭을 해보자. 아래에 제시하는 배열 이름의 포인터형을 결정하고, 그 결정이 옳음을 증명하기 위한 예제를 작성하라. 문제 3. 다음 char형 포인터 배열 이름 sptrarr의 포인터 형을 결정하고, 이를 증명하는 예제를 작성하라. char * sptrarr[3] = {"AAA", "BBB", "CCC"}; */ #include #include int main(void) { char * sptrarr[3] = { "AAA", "BBB", "CCC" } ..
-
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..