瀏覽單個文章
53346
*停權中*
 
53346的大頭照
 

加入日期: Oct 2001
您的住址: 鬼島-高譚市
文章: 5,987
C語言關於指標的例題疑問?

老師說以下這個程式你真的能夠了解,那指標的部分你就沒問題了,想忘也會忘不掉...
struct stackekement{
int element;
struct stackelement *next;
}
struct stackekement*stack;

stack=NULL;

void push(int stackin,struct stackelment **stack)
{struct stackekement *temp;

temp=(struct stackekement *)malloc(size(struct stackekement));
temp->element=stackin;
temp->next=*stack;
*stack=temp;
}
...POP的部分略刪,上課了時候老師有在黑板上畫圖解釋這個程式,看的時候還勉強可以
理解,但是下課後自己看到後面就傻掉了...
想請問:
1.一開頭的"struct stackekement{"是什麼意思??宣告第一個大括弧裡面的東西而已?
那這樣第一個大括弧下的"struct stackekement*stack"和他有什麼關係又是什麼意思??
2. temp=(struct stackekement *)malloc.......我知道這是要將malloc處理完的東西casting(強迫轉型),但是..."(struct stackekement *)"這又是什麼意思?那個*號不是指指標而是指casting為"struct stackekement"??
3."*stack=temp"這是指將temp這個指標內的值給副程式中的stack指標還是給主程式的stack指標??如果改寫成"*stack=*temp"在C的文法裡面會正確嗎??
這是資料結構上的東西,為了應付研究所計概部分會考到資結的東西,小弟是不是該裝個C語言的開發工具?(PS:我不知道那叫什麼,就是可以在電腦上面練習C的東西...)
裝那東西要花錢買嗎?初學者夠用裝哪套好
先謝謝熱心為小弟解惑的前輩了,如可圖解小弟會更感激
     
      
舊 2005-07-20, 10:54 PM #1
回應時引用此文章
53346離線中