當添加(4)被調用時,我的main()崩潰。函數返回指向int的指針
據我所知int * add,它應該返回一個指向整數的指針。然後,我應該可以主要說:
int * a = add(3);
返回一個指向int的指針。
請解釋我做錯了什麼。
#include <cstdlib>
#include <iostream>
using namespace std;
int* add (int a) {
int * c, d;
d = a + 1;
*c = d;
cout << "c = " << c << endl;
return c;
}
int main(int argc, char *argv[])
{
int a = 4;
int * c;
c = add(4);
system("PAUSE");
return EXIT_SUCCESS;
}
+1 - @橡膠靴是正確的 – ChrisBD 2010-08-18 14:38:07
不,他不是。閱讀理解,人。 '* c = d' does * not * make'c' point to'd'! – 2010-08-18 14:38:45
比這更糟糕的是,您正在寫入並返回一個未初始化的指針。 – 2010-08-18 14:38:47