連結串列作業中犯的一些錯誤
typedef struct student {
int number;
string name;
int Chinese;
int math;
int English;
struct student* next;
}student;//連結串列的結構
問題
在連結串列create node時一開始使用malloc,程式報錯,顯示無法讀取記憶體,且顯示結構體未初始化。
當時並未想著排查,所以直接換了new,程式正常執行。
於是往new和malloc的區別方面尋找程式出錯的原因。以我對兩者膚淺的認知,我認為區別在於是否有初始化,而calloc與new都會對申請到的記憶體進行初始化,於是運用calloc嘗試一次,程式在輸入name時存在亂碼,且有時會同malloc報錯一樣,由此排除初始化的問題
原因
而calloc在name上出現問題,因此可以從name的角度入手。
回頭再看結構體,name為string型別,結構體內的string是不定長度的,無法用malloc分配記憶體,malloc不會呼叫結構函式。
解決
若用malloc或calloc,則將string改為char陣列或者
相關文章
- golang中經常會犯的一些錯誤Golang
- Rxjs SwitchMap 的一些容易犯的錯誤和替代方案JS
- 工程師犯的最大錯誤?工程師
- android開發中犯的小錯誤,不要學我!Android
- macOS小白容易犯的24個錯誤Mac
- 邦芒簡歷:簡歷中不能犯的8個錯誤
- 開發時犯得小錯誤
- 很多人容易犯的面試錯誤面試
- 使用 Kubernetes 最容易犯的 10 個錯誤!
- go新手容易犯的三個致命錯誤Go
- 盤一盤:那些年企業在犯的網路安全錯誤!
- 莉莉絲王信文:創業6年,我犯過的那些錯誤創業
- 寶鯤財經:外匯交易中不能犯的幾點錯誤
- Mark W3C測試中我犯得錯誤
- ionic 開發中的一些錯誤
- Python最容易犯的錯誤,一定要警惕!Python
- Java初學者容易犯的程式碼錯誤Java
- Java初學者容易犯哪些錯誤?Java
- Include檔案易犯編譯錯誤編譯
- Intel彙編 ld連結錯誤Intel
- c++連結錯誤原因整理C++
- 公司為變得敏捷而犯的10大錯誤敏捷
- Python新手入門最容易犯的錯誤有哪些?Python
- Java 開發者最容易犯的10個錯誤Java
- 前端開發最容易犯的13個JavaScript錯誤前端JavaScript
- 十個PHP開發者最容易犯的錯誤PHP
- 連結器工具錯誤 LNK1104
- 記一次因為共享變數的犯錯誤變數
- Spring In Action 5th中的一些錯誤Spring
- Nextcloud的一些錯誤提示Cloud
- 在scanf函式中佔位符使用錯誤而產生的一些錯誤函式
- 開發新手最容易犯的50個 Ruby on Rails 錯誤(1)AI
- 90%的Java開發人員都會犯的5個錯誤Java
- 我作為開發者犯過的兩次愚蠢的錯誤
- 你會犯這些 Go 編碼錯誤嗎(二)?Go
- 直播app開發中容易犯的小錯誤,有則改之無則加勉APP
- 總結一些,書寫 CSS 的時候,經常犯的錯誤!CSS
- 這些常見的 Go 編碼錯誤,你犯過嗎(一)?Go