我有以下的C程序。不懂指針
#include <stdio.h>
int main()
{
int *p, *q;
*p=5;
*q=6;
printf("%d %d", *p, *q);
return 0;
}
該代碼未運行。這段代碼有什麼問題?
我有以下的C程序。不懂指針
#include <stdio.h>
int main()
{
int *p, *q;
*p=5;
*q=6;
printf("%d %d", *p, *q);
return 0;
}
該代碼未運行。這段代碼有什麼問題?
您的指針未初始化,它們需要使用malloc指向有效內存或通過獲取局部變量的地址。
#include <stdio.h>
int main()
{
int p, q;
int *pp = &p;
int *pq = &q;
*pp=5;
*pq=6;
printf("%d %d", *pp, *pq);
return 0;
}
會工作。
我如何初始化它們? –
編輯我的答案。只顯示局部變量,因爲我不明白爲什麼你會使用新的這種情況。 –
我有一個問題。指針是否只能保存內存地址? –
爲了將來的參考,而不是「代碼沒有運行」,請告訴我們它是如何失敗的。如果出現錯誤消息,請將其複製並粘貼到您的問題中。這種情況下問題很簡單,但下次可能不會。 –
[comp.lang.c FAQ](http://www.c-faq.com/)是一個很好的資源。第4部分包括指針。 –