포인터 기초(초기화 문제, 크기)

기초 2015. 12. 19. 00:18
1
2
3
4
5
    int *nptr;
    int a = 5;
 
    *nptr = 5// 초기화 되지않은 변수 오류
    *nptr = a; // 초기화 되지않은 변수 오류
cs

포인터는 주소를 지정하고 사용해야한다.

1
2
3
4
5
6
7
8
9
    int                 int_;         //4바이트
    float             float_;        //4바이트
    double         double_;    //8바이트
    char            char_;        //1바이트
 
    int                *intp;        //4바이트
    float            *floatp;    //4바이트
    double            *doublep;    //4바이트
    char            *charp;        //4바이트
cs


모든 포인터 변수는 4바이트를 가진다.

'기초' 카테고리의 다른 글

int arr[2][3]의 대해서  (0) 2015.12.20
포인터, 2차원 배열  (0) 2015.12.19
포인터, 배열  (0) 2015.12.19
포인터 복습(&,*)  (0) 2015.12.18
깊은 복사 / 앝은 복사  (0) 2015.12.07
posted by 알쿠미

포인터 복습(&,*)

기초 2015. 12. 18. 03:50
1
2
3
4
5
6
7
8
9
10
    int *nptr;
    int a = 5;
 
    nptr = &a;
 
    cout<<"&a : "<<&a<<endl;
 
    cout<<"nptr : "<<nptr<<endl;
    cout<<"&nptr : "<<&nptr<<endl;
    cout<<"*nptr : "<<*nptr<<endl;
cs

결과



&는 주소값

*는 가리키는값


포인터 변수에 주소값을 넣기 위해서 마련된 것이 &연산자이다.

'기초' 카테고리의 다른 글

int arr[2][3]의 대해서  (0) 2015.12.20
포인터, 2차원 배열  (0) 2015.12.19
포인터, 배열  (0) 2015.12.19
포인터 기초(초기화 문제, 크기)  (0) 2015.12.19
깊은 복사 / 앝은 복사  (0) 2015.12.07
posted by 알쿠미

깊은 복사 / 앝은 복사

기초 2015. 12. 7. 20:56

* 개요

 객체가 복사 된다는 것은 기존 객체와 같은 값을 가지는 새로운 객체를 만든다. 라는 것 객체가 가진 값 형식(Value Type)과 참조형식(Reference Type)의 복제 방식에 따라 얕은복사와 깊은복사로 개념이 나뉜다.

* 얕은 복사(Shallow Copy)

참조하는 것으로 값 자체를 복사해 놓은 것이 아니기 때문에 참조하는 것을 삭제할 경우를 잘 고려해야한다. ex) 복사생성자

* 깊은 복사(Deep Copy)

값 자체를 복사하는 경우로서 각각 다른 메모리 공간을 할당하기 때문에 얕은 복사에서와 같은 삭제시의 문제점은 없다.


'기초' 카테고리의 다른 글

int arr[2][3]의 대해서  (0) 2015.12.20
포인터, 2차원 배열  (0) 2015.12.19
포인터, 배열  (0) 2015.12.19
포인터 기초(초기화 문제, 크기)  (0) 2015.12.19
포인터 복습(&,*)  (0) 2015.12.18
posted by 알쿠미