c語言字串和指標十個問題

2021-08-10 15:42:34 字數 872 閱讀 6910

預習了一些陣列和指標的內容,書上有幾個問題,整理了下來。。。另外在網上也找了找,也一起補充了進來

1-陣列的下標是從0開始的嗎?

是,對於陣列a【max】來說,他的第乙個和最後乙個元素分別是a和a【max-1】。

2-可以使用陣列後面第乙個元素的位址麼?

可以,可以使用陣列後面第乙個元素的位址,但不能檢視該位址的值。

3-為什麼要小心對待位於陣列後面的那些元素位址呢?

基址無法改變,偏移量也不能為負值,那麼有些位址就會無效了。

4-陣列作為引數傳遞給函式是,可以通過sizeof得到陣列的大小嗎?

不可以,把陣列作為函式的引數是,無法在程式執行是通過陣列引數本身告訴函式該陣列的大小,因為函式的陣列引數相當於指向該陣列第乙個元素的指標。

5-指標或帶下標的陣列名都可以訪問元素,哪一種更好?

指標更好,因為使用指標運算更快,而使用帶下標的陣列名則使用乘法。一般來講,乘法運算是比間接引用慢的。

6-可以 把另乙個位址賦給乙個陣列名嗎?

不可以。陣列名不能被放在賦值運算子的左邊。乙個陣列是乙個物件,而他的陣列名就是指向這個物件的第乙個元素指標。

7-字串和陣列有什麼不同?

陣列的元素可以是任意一種型別,而字串是一種特別的陣列,使用了眾所周知的確定長度的規則。

8-array_name和&array_name有什麼不同?

前者是指向陣列中第乙個元素的指標,後者是指向整個陣列的指標。

9-函式宣告和定義的不同?

函式的宣告就只是宣告乙個函式的名字,而定義則是確定乙個函式的意義,即確定了乙個函式的所有部分。

10-為什麼用const說明的常量不能用來定義乙個陣列的初始大小?

在c語言中,只有c語言常量表示式才能用來定義乙個陣列的初始大小。

指標的十個問題

1.如何判斷指標的型別和指標指向的型別?從語法角度看,只要把指標宣告語句裡的指標名字去掉,剩下的部分就是這個指標的型別 把指標宣告語句中的指標名字和名字左邊的指標宣告符 去掉,剩下的就是指標所指向的型別 2.指標的值是什麼?乙個指標的值是xx,就是說該指標指向了一xx為首位址的一片記憶體區域 3.常...

C語言指標 字串和指標

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

C語言 字串 指標

字串 1.字串 jack j a c k 0 用陣列儲存字串 char name 10 jack printf name 2.字串的一些定義 都是字串 0的ascii碼值是0 char name 8 it char name2 8 char name3 8 0的ask碼是0 char name4 8...