關於C語言字串和指標的總結

2021-07-13 02:03:40 字數 595 閱讀 5283

今天在寫乙個c語言實現strcat函式功能的函式

發現自己對c語言的初始化還存在一些問題,總結如下:

char str1[ ] ="hello";

char *str2 ="myword";

二者都是定義了乙個字串,但是str1是陣列名,是乙個常量,是不能被當做左值的

例如:str1 = str2;      \\這樣就會報錯      錯誤 1 error c2106: 「=」: 左運算元必須為左值 

str2是乙個指標,是個變數。但是,這樣char *str2 ="myword";定義的字串是不能改變

裡面的字元常量的,因為這串字元是常量,不能被改變

1:二者都可以進行下標進行訪問 

例如printf("%c",str1[2]);

printf("%c",str2[2]);     這裡不能str2[2] = 'e';   字串常量不能被修改

2:pstr1不能進行自加運算(++),因為常量不能被當做左值

pstr2可以

3:二者都可以*(pstr1+i)

*(pstr2+i);

以上算是我對今天所學知識的乙個小小的總結吧



C語言指標 字串和指標

字元指標可以指向字元變數,但在實際應用中,我們常常會用到字串,而字串也是可以用字元指標指向的,但根據字串的不同儲存方式主要分為字串常量和利用字元陣列儲存的字串變數,兩者有不同的定義和使用形式 字元指標可以用來儲存字串常量的首位址 例如 char ptr my name is 此時,字串常量在記憶體中...

C語言 字串指標(指向字串的指標)

字串一旦被建立就存在於常量池中。以字元陣列形式建立的字串,實際上是從字串常量池中複製了乙個副本,所以修改字元陣列的內容時,只是修改的自己的副本,並不會影響到常量池中的字串。而對字串指標strp操作時會影響到常量池中的字串 char strc string char strp string print...

C語言指標用法總結 指標與字串

總結字元陣列 字串 字串的函式以及字串與指標,並自己寫了一些string函式。指標就是記憶體位址,每乙個儲存單元都有乙個32位編碼的記憶體位址,指標指向某一變數,即把該變數的記憶體位址賦值給該指標 字串 以 0 結尾的字元陣列就是字串。c include include char mystrcpy ...