關於陣列和字串陣列的那些事(二)

2021-08-18 10:17:39 字數 1170 閱讀 6564

字串陣列相對於普通的數字陣列來說具有更加廣泛的適用性,因此它的運用也就顯得尤為重要。二者之間仍然有很多的區別,單從定義方式來說,字串陣列的定義就體現了它的靈活性,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...