1. 程式人生 > >指標的賦值的問題

指標的賦值的問題

前提 :

在寫樹的時候,發現一個關於指標的問題,想了一會才想到為什麼,記錄

問題:

用指標n讓p指向一個記憶體

#include <iostream>
using namespace std;
int main()
{
	int* p = NULL;
	int* n = p;
	n = new int(4);
	delete n;
	system("pause");
	return 0;
}

分析:

1.int* p = NULL; int* n = p; 在這裡插入圖片描述 2. n = new int(4); 在這裡插入圖片描述

明顯錯誤 正確方式應該是n存入p的地址,然後進行賦值

修改:

#include <iostream>
using namespace std;
int main()
{
	int* p = NULL;
	int** n = &p;
	(*n) = new int(4);
	delete n;
	system("pause");
	return 0;
}

圖示:

  1. int* p = NULL; int** n = &p; 在這裡插入圖片描述

  2. (*n) = new int(4); 在這裡插入圖片描述