結構體指標初學犯的錯誤

2021-09-10 19:27:52 字數 511 閱讀 7064

例:

typedef struct node

node;

初學的時候容易犯錯誤,在node *p後,直接進行p->str操作,由於定義之後指標p沒有進行位址賦值,所以現在的p為空指標,使用空指標進行操作,則會出現段錯誤。

node *p;是定義了乙個指向node型別的指標,p的大小就是乙個指標大小(系統位數不同大小不同),並不是乙個node型別結構體大小,所以並沒有建立結構體中的 int變數、char *指標、node指標。

如果使用node *p = (node *)malloc(sizeof(node))這樣才相當於建立了int變數、char *指標、node指標,而p指向這樣的乙個結構體。(要注意的是,再malloc後,相當於定義了乙個int變數和兩個指標變數,同樣這兩個指標變數也是空指標。)

node *p = (node *)malloc(sizeof(node))操作可以理解為:在記憶體中定義三個變數,然後將這三個變數所在的記憶體空間位址傳給p指標,此時p指標變數內存放的內容就是三個變數建立的初始位址。

初學jsp犯的錯誤

1.首先是在寫表單的時候出現這個錯誤,後來通過自我檢查發現少寫了乙個 號,加上就好了。syntax error,insert to complete blockstatements rs.getint 1 2.出現資料庫連線不上的問題,後來將sqlserver的包放入tomcat中就可以正常使用了。...

初學C語言容易犯的錯誤

本人通過對c語言的使用學習,積累了一些c程式設計時常犯的錯誤,寫給各位參考。1.將字元常量與字串常量混淆。char c c a 在這裡就混淆了字元常量與字串常量,字元常量是由一對單引號括起來的單個字元,字串常量是一對雙引號括起來的字串行。c規定以 作字串結束標誌,它是由系統自動加上的,所以字串 a ...

使用c c 指標 初學者容易犯的幾個錯誤

使用c c 指標時,一定要區分清楚指標所占用的記憶體和指標所指向的記憶體。指標一經定義,無論初始化與否,系統將為其分配乙個4位元組 32位系統,另外64位系統為8位元組 的記憶體,即為指標所占用的記憶體。該記憶體存放指標所指向的變數的位址,此位址對應乙個記憶體,即為指標所指向的記憶體。對指標進行操作...