字元指標與字元陣列的儲存問題

2021-04-19 03:49:40 字數 524 閱讀 8292

指標只定義未賦值時,只是分配了乙個存放位址的指標空間,如果以後不讓其指向已分配的儲存空間,那麼該指標是個野指標,在以後訪問其內容時就會出錯,linux裡會出現段錯誤。  

字元指標與字元陣列,在很多情況下都可以通用。但還是又細微差別,比如說所佔的空間大小,32位機字元指標是4位元組,字元陣列就要看定義的大小了。指標是指標變數,陣列名是指標常量

還有一類區別就是在定義時即初始化,字元指標在定義的時候如果定義時即賦值,那麼所賦的值是放在程式的常量區的,指標指向該位址,因此該指標指向的位置的值是不能被改變的.而陣列則直接被分配了空間,可以任意更改其內容,如: char * str1 = "abc"; char str2[10] = "abc" char * str3 = str1; char * str4 = str2;str1[1] = 'b'; str2[1] = 'b' str3[1] = 'b'; str4[1] = 'b',其中 str[1]=』b』,str3[1]=』b』都是不合法的,而另兩個則合法。還有在列印時要注意:看如下**:

void

main()

字元陣列與字元指標

10.4 指標與字串 10.4.1 字元陣列與字元指標 在第八章中我們已經詳細討論了字元陣列與字串,字元指標也可以指向乙個字串。我們可以用字串常量對字元指標進行初始化。例如,有說明語句 char str this is a string.是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首...

字元指標與字元陣列

1.字元指標可以指向乙個字串。我們可以用字串常量對字元指標進行初始化。例如,有說明語句 char str this is a string.是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首位址,即指向字串的首位址。這裡要注意字元指標與字元陣列之間的區別。例如,有說明語句 char st...

字元陣列與字元指標

節選了一些有價值和易錯的部分。char str this is a string.char string this is a string.字元指標str與字元陣列string的區別是 str是乙個變數,可以改變str使它指向不同的字串 但不能改變str所指的字串常量 string是乙個陣列,可以改...