關於函式引數中有指標無法帶出位址

2021-07-25 15:58:09 字數 953 閱讀 1708

本人菜鳥乙隻,寫了乙個讀入全部檔案的函式,介面一直有問題,**如下:

int readallfile(wstring sfilepath, wchar*sfile,int mod)

// read the entire file into the buffer.

file.seekg(0, file.beg);

szencr = new wchar[file_size + 1];

memset(szencr, 0, file_size + 1);

//szencr = file.rdbuf();

file.read(szencr, file_size);

file_size);

file.close();

sfile = szencr;//希望傳出位址

return 0;

} else

}

int cskfcontrol::readallfile(wstring sfilepath, wchar*&sfile,int mod)//引用傳遞,不是引用的話,值傳遞,一直不知道指標也是可以引用傳遞的。。。。。太菜了

// read the entire file into the buffer.

file.seekg(0, file.beg);

szencr = new wchar[file_size + 1];

memset(szencr, 0, file_size + 1);

//szencr = file.rdbuf();

file.read(szencr, file_size);

file_size);

file.close();

sfile = szencr;

return 0;

} else

}

關於空指標做函式引數和多級指標的使用問題

引入 在主函式中只是定義了乙個空指標p,如何才能通過子函式的呼叫來完成修改p的內容 include include 因為剛開始p什麼都沒有指向 但是p是占有一片記憶體空間的,只是其中的內容為null 所以直接把p的內容傳進子函式賦值是沒有意義的,相當於在子函式中改變了指向了一片新的儲存空間,修改的是...

結構體指標作為函式引數傳遞卻無法傳值的有關問題

今天做c 作業遇到乙個問題,需要寫乙個函式 在鍊錶中新增新的節點 將結構體指標作為形參,結果發現傳遞之後無法改變結構體的值,鍊錶的長度還是沒變。通過查詢資料,發現把形參改為對結構體指標的應用即可解決問題。原 struct tnode void insert tnode struct tnode l,...

關於函式用指標作為引數的易犯錯誤總結

前言 c或c 在函式中使用引數進行傳遞時,如果要想改變main函式兩個變數的值,此時就得用到將引數定義為指標的思想,然而在使用指標進行引數傳遞時,常常會導致錯誤,令人百思不得其解,下面我就個人的認知,使用函式交換兩個數為例子,進行分析。void swap int a,int b int main 分...