今天寫二叉樹的時候遇到乙個小問題,寫了乙個create_node函式用來建立乙個二叉樹的節點。**如下:
void create_node(node_t **pnode)
node_t *tmp;
tmp = *pnode;
tmp = (node_t *)malloc(node_t);
tmp->data = 3333;
用如下方式呼叫:
node_t *node = null;
create_node(&node);
我的目標是建立乙個節點,資料為3333,然後把node指向該節點,可是,函式呼叫結束後,node依然為null
我們都知道,要想通過函式修改變數的值,必須把該變數的位址做為引數傳給函式使用,這裡我的確把node變數的位址
傳給了create_node,但是create_node使用指標的方式不正確:程式只修改了區域性變數tmp的值,沒有影響到pnode指標所
指向的指標,即沒修改node指標,正確的方式是:
void create_node(node_t **pnode)
node_t *tmp;
tmp = (node_t *)malloc(node_t);
tmp->data = 3333;
*pnode = tmp;
先建立節點,然後把node指向這個節點。
乙個變數賦值的小問題
create table a a varchar 10 insert into a select a insert into a select a insert into a select b insert into a select b insert into a select c insert ...
建構函式的乙個小問題
精簡過的 兩個建構函式如下 string string string string int n 如果我這樣呼叫 string s0 a cout endl s0 s0 endl 列印出97個0,在vc上除錯發現呼叫的是 string string int n 建構函式 如果這樣呼叫 string s...
shtml的乙個小問題
新建body.shtml 其 如下 我組成身體 然後建它引用的兩個 html 頁面,head.html 的 如下 我組成頭部 foot.html 和這個問題無關就不貼了,然後瀏覽器訪問 body.shtml 得到的頁面如下圖 恩,沒毛病!等等,怎麼在 我組成頭部 前面有個空格?檢視響應正文我們 看到...