c語言結構體字符串賦值 結構體中的成員如果是字符數(shù)組,有幾種賦值方式?
結構體中的成員如果是字符數(shù)組,有幾種賦值方式?你好為何給結構體中的string賦值時發(fā)生段錯誤呢?對不起,放錯位置了,應該在這里:說指針不正確,其實是因為每個成員變量中的字符串沒有初始化,比如記錄當前
結構體中的成員如果是字符數(shù)組,有幾種賦值方式?
你好
為何給結構體中的string賦值時發(fā)生段錯誤呢?
對不起,放錯位置了,應該在這里:說指針不正確,其實是因為每個成員變量中的字符串沒有初始化,比如記錄當前字符串長度的變量,所以錯誤int main(void){wordinfo*IFO=(wordinfo*)malloc(2*sizeof(wordinfo))memset(IFO,0,2*sizeof(wordinfo))//因為沒有IFO要初始化,所以錯誤QQ(IFO)}
在C中優(yōu)先使用string是一個好習慣,除非C的diehard習慣了,否則應該使用string而不是char。
Char用于處理任何8位數(shù)據(jù)類型,如邏輯值、整數(shù)、字符ASCII碼等。要處理字符串,需要使用Char[]數(shù)組,這很麻煩,也很難控制。
String是一個模板類,專門用于處理字符串,并封裝了許多成員函數(shù)來處理字符串。它是C標準庫的一部分,所有C實現(xiàn)都支持它,并由C創(chuàng)始人推薦。
選擇使用哪一種并不困難。