字串陣列相對於普通的數字陣列來說具有更加廣泛的適用性,因此它的運用也就顯得尤為重要。二者之間仍然有很多的區別,單從定義方式來說,字串陣列的定義就體現了它的靈活性,char arr= char brr= char err=
」a,b,c
」
都是字串陣列的有效定義形式。
關於字串陣列拷貝:
顧名思義,字串陣列拷貝函式的功能主要是用來將a字串拷貝進
b字串,作用類似於賦值。下面這個就是最簡單的字串拷貝函式
void copy(char *des,char *src)
des[i]='\0';
}
這個函式的核心在於for迴圈中的賦值運算,以及在
for迴圈結束後在被拷貝物件末尾加上的『
\0』。其實陣列中的
arr[i]
還能以另一種形式來出現。以下兩條為陣列與指標中重要的取代公式。
1 p[i]=*(p+i)
2. arr[i]=*(arr+i)
# include void copy(char *des,char *src)
*(des+i)='\0';
}
將這兩則公式帶入上面程式中後發現程式執行仍然無誤。下面還有另外幾種拷貝函式的書寫方式要介紹,例如使用while語句代替
for迴圈,我們就可以寫出如下語句:
void copy(char *des,char *src)
; *des='\0';
}
可以看出,這個語句中*des和*src最初分別表示的是各自陣列裡的首元素,在while迴圈中進行了先賦值後加加的運算,我們也可以將while迴圈中的三條語句濃縮成為一條:*des++=*src++
void copy(char *des,char *src)
; *des='\0';
}
這樣一來,程式就顯得更為簡潔利落。當然,還有更為簡潔的形式:
void copy(char *des,char *src)
以上五條就是關於字串拷貝函式的常用語句,後面還會寫一些關於字串的其他內容。 關於字元陣列和字串陣列
首先看2個東東 char str2 這2個哥們兒長的很像,可實際的涵義確差老了。2個都是c裡面的東東。str1叫字元陣列,首先它是乙個陣列,5個元素但長度為4 加上個 0 其實就相當於 abcd 看看怎麼變過來的 首先變為char str1 abcd 然後把括號去掉就是 char str1 abcd...
關於字元陣列和字串
關於字元陣列和字串 引用 火未燃說 char a 5 和char a 10 有效字元5個,0 表示結束,china共5個字元,但在記憶體佔6個位元組,a 10 佔足五個後遇到 0 結束 結束符 系統會自帶的,不用畫蛇添腳 加上也無所謂 by eviloctal 首先說火未燃關於空字元系統自己加的說法...
字串的那些事
string str0 ab string str1 abc string str2 abc string str3 ab c string str4 str0 c string str5 new string abc string str6 new string ab c 編譯器會將str1和st...