[c++] dynamic memory allocation (동적 메모리 할당) 본문

객체지향프로그래밍 (C++)

[c++] dynamic memory allocation (동적 메모리 할당)

미니모아 2020. 7. 3. 15:16
반응형
  1. 배열 동적 메모리 할당

     int* p;
     int length, total = 0;
     float average;
     cin >> length;
     p = new int[length]; //동적 메모리 할당
    
     for (auto i = 0; i < length; i++)
         cin >> *(p + i);
    
     for (auto i = 0; i < length; ++i)
         total = total + p[i];
    
     average = total / (double)length;
     cout << total << endl;
     cout << average << endl;
    
     delete[] p;
  2. 포인터 동적 메모리 할당

     int* p = new int; //할당
     *p = 486;
     cout << *p << endl;
     delete p;//해지
     return 0;

    포인터에 동적 메모리 할당한 경우 메모리를 해제해도 어딘가를 가르키는 포인터 값은 남아 있음 null값을 넣어서 초기화 해줘야 됨

     short* p = new short[100];
     cout << p << endl;
     delete[] p;
     p = NULL;
     cout << p << endl; 
반응형
Comments