Lecture/자료구조/2011/실습 2. 배열 연습

Retired DISLab
이동: 둘러보기, 찾기

목차

C

C 포인터 실습 #1

두번째 출력이 1245052일 때 나머지 결과도 예측해보자.

#include <stdio.h>
int main(int argc, char** argv)
{
    int i = 3;
    int *p = &i;
 
    printf("%d\n", i);
    printf("%d\n", &i);	// 1245052
    printf("%d\n", p);
    printf("%d\n", &p);
    printf("%d\n", *p);
 
    return 0;
}

C 포인터 실습 #2

첫번째 출력이 1245016일 때 나머지 출력값을 예측해보자.

#include <stdio.h>
 
void print(int[], int);
 
int main(int argc, char** argv)
{
    int arr[10];
    int *p;
    int i;
 
    printf("%d\n", arr);	   // 1245016
    printf("%d\n", &arr[0]);
    printf("%d\n", &arr[5]);
    printf("%d\n", arr + 5);
 
    for(i = 0; i < 5; i++)
        arr[i] = i;
 
    p = arr;
 
    printf("%d\n", p);
    printf("%d\n", &p[0]);
    printf("%d\n", p + 5);
    printf("%d\n", &p[5]);
 
    for(i = 0; i < 5; i++)
        printf("%d\n", p[i]);
}

C 포인터 실습 #3

출력이 주석과 같을 때 나머지 결과를 예측해보자.

#include <stdio.h>
 
int main(int argc, char** argv)
{
    int arr1[2][3];
    int arr2[2][3][4];
 
    printf("%d\n", arr1);            // 1245032
    printf("%d\n", &arr1[0][0]);
    printf("%d\n", &arr1[0][3]);
    printf("%d\n", &arr1[1][0]);
    printf("%d\n", &arr1[1][3]);
 
    printf("\n");
 
    printf("%d\n", &arr2[0][0][0]);  // 1245056
    printf("%d\n", &arr2[0][0][3]);
    printf("%d\n", &arr2[0][1][0]);
    printf("%d\n", &arr2[0][1][3]);
    printf("%d\n", &arr2[1][0][0]);
    printf("%d\n", &arr2[1][2][3]);
}


Java

결과 값을 예측해보자.

Java 배열 실습 #1

public class ArrayTest {
 
    public static void main(String[] args) {
        int[] arr = new int[4];
 
        System.out.println(arr);
        System.out.println(arr.length);
 
        for(int i = 0; i < arr.length; i++)
            arr[i] = i;
 
        int[] arr2 = (int[])arr.clone();
 
        for(int i = 0; i < arr2.length; i++)
            System.out.println(arr2[i]);
    }
}

Java 배열 실습 #2

public class ArrayTest {
 
    public static void main(String[] args) {
        boolean[] arr = new boolean[2];
 
        arr[0] = false;
        arr[1] = true;
 
        boolean[] arr2 = { true, false, true, false };
 
        for(int i = 0; i < arr2.length; i++)
            System.out.println(arr2[i]);
    }
}

Java 배열 실습 #3

public class ArrayTest {
 
    public static void main(String[] args) {
        int[][] arr = new int[3][4];
 
        System.out.println(arr);
        System.out.println(arr.toString());
 
        System.out.println(arr.length);
        System.out.println(arr[0].length);
    }
}
개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기