謝謝 黃隊長(
) 的 指導, 讓困擾我的這個問題:「頭結點是什麼?頭指標是什麼?」 得以解決。
// 鍊錶中的 結點的 定義
typedef struct node
int item;
struct node* next;
}node;
// 鍊錶 本身的 結構 的定義
typedef struct link
node * head;
}link_type;
由 以上的 定義可以得出:
/********************** 沒用 指標變數的格式 如下**************************/
node node_head; // 定義 乙個 結點, 這個 就可以看做是 頭結點,頭結點必須是鍊錶中的第乙個結點,且它的資料域中一般存放的是鍊錶的長度(類似陣列的長度)。
node_head.item = 0; // 頭結點 的 資料域 沒有 實際 的 意義, 即 不存 有用的資料, 我這裡初始化為0, 也可以初始化為其它整形資料。
node_head.next = null; // 頭結點 的 指標域 初始化為空
link_type seqlink; // 定以 乙個 鍊錶
seqlink.head = &node_head; // 頭指標 初始化 為 指向 頭結點。頭指標 是指向頭結點 或 指向鍊錶中的第乙個結點(在沒有頭結點是)。
/********************** 用 指標變數的格式 如下**************************/
node *node_head = (node*)malloc(sizeof(node) * 1); // 別忘分配空間。
if ( null == node_head) exit(1);
node_head->item = 0; // 頭結點 的 資料域 沒有 實際 的 意義, 即 不存 有用的資料, 我這裡初始化為0, 也可以初始化為其它整形資料。
node_head->next = null; // 頭結點 指標變數 的 指標域 初始化為空
link_type *seqlink = (link_type*)malloc(sizeof(link_type) * 1); // 定以 乙個 鍊錶 指標
if ( null == seqlink) exit(1);
seqlink->head = node_head; // 頭指標 初始化 為 指向 頭結點。頭指標 是指向頭結點 或 指向鍊錶中的第乙個結點(在沒有頭結點是)。
總結:1.頭指標 是指向頭結點 或 指向鍊錶中的第乙個結點(在沒有頭結點是)。
2.頭結點必須是鍊錶中的第乙個結點,且它的資料域中的資料無用。
3. 謝謝 黃隊長(
)的 指導!
4.以上是我的理解~如有錯誤和不妥之處,還請大家批評指導~謝謝!!!~
以上~~~
我們不一樣之陣列和指標的差別
陣列 陣列是用於儲存多個相同型別資料的集合。陣列 只能乙個乙個元素的賦值或拷貝 指標 指標變數可以相互賦值 陣列 陣列所佔儲存空間的記憶體 sizeof 陣列名 陣列的大小 sizeof 陣列名 sizeof 資料型別 指標 在 32 位平台下,無論指標的型別是什麼,sizeof 指標名 都是 4。...
雲主機和雲主機是不一樣的
雲主機與雲主機是不一樣的,看到這句話是不是一臉懵逼,不知道是什麼情況?其實真正懂行的人就不會迷惑,因為雲主機與雲主機之間確實有很大的區別,姑且不論不同idc服務商之間的區別,僅僅是在架構 平台 軟體等方面,雲主機就可以分出iaas paas 和 saas 三種不同的型別。那麼這些專業知識應該如何分辨...
父類指標的步長和子類指標的步長是不一樣的
當用父類指標或者引用指向子類物件時,可以發生多型 是因為有vptr指標和虛函式表的存在 但是這個指標和子類指標的步長時不一樣,具體看如下 特別注意看注釋。如下 include using namespace std 結論 多型是用父類指標指向子類物件 和 父類步長 是兩個不同的概念 class pa...