我正在編寫一個小程序,以幫助我更好地理解指針,以完成正在處理的任務。如何使用指針交換項目
這裏的主要
#include <stdio.h>
int main(int argc, char *argv[])
{
typedef struct some_t {
int x;
} some_t;
some_t *i, *j;
i->x = 1;
j->x = 2;
some_t *tmp;
tmp = i;
*i = *j;
*j = *tmp;
printf("i is %d\n", i->x);
printf("j is %d\n", j->x);
return 0;
}
當我運行它,我得到一個分割故障和我的emacs GUD-GDB不會通過程序運行。我開始,但接着說'繼續下一次休息。'我最終試圖做的是我有一個bag
指針對象(武器,工具等)和一個equipment
結構(配備的對象)。當我想裝備bag
中的一個對象時,我只想翻轉對象的指針。因此,equipment struct
中的指針指向武器,然後bag
中的指針交換指向前一個對象替換的內容。
首先使用
malloc()
分配內存以您的指針,然後分配一個value.Your指針指向一些無效的位置。 – GingerJack