知識1
字串和字元指標
·如果定義乙個字元指標接收字串常量的值,該指標就指向字串的首字元。這樣,字元陣列和字元指標都可以用來處理字串。例如:
char sa =」array」;
char *sp=」point」;
printf(「%s」,sa);
printf(「%s」,sp);
printf(「%s\n」,」string」);
輸出:array point string
呼叫printf(函式),以%s的格式輸出字串時,作為輸出引數,陣列名sa、指標sp和字串「string」的值都是位址,從該位址所指定的單元開始連續輸出其中的內容(字元),直至遇到『\0』為止。
·定義字元指標後,如果沒有對它賦值,指標的值是不確定的,不能明確它指向的記憶體單元。
·為了盡量避免引用未賦值的指標所造成的危害,在定義指標時,可先將它的初值置為空。 如:char *s=null。
2.指標、陣列和位址間的關係
·陣列的基位址是在記憶體中儲存陣列的起始位置,它是陣列中第乙個元素(下標為0)的位址,因此陣列名本身是乙個位址即指標值。
·指標是以位址作為值的變數,而陣列名的值是乙個特殊的固定位址,可以把它看作是常量指標。
p=a; 等價於 p=&a[0];
p=a+1; 等價於 p=&a[1];
注:p=a+1是合法的,但a=a+1就是非法的。
·陣列名可以使用指標形式,而指標變數也可以轉換為陣列形式。
·兩個相同型別的指標相減,表示它們之間相隔的陣列元素數目。
注:在c語言中,指標的算術運算只包括兩個相同型別的指標相減以及指標加上或減去乙個整數,其他的操作如指標相加、相乘和相除,或指標加上和減去乙個浮點數都是非法的。
·兩個相同型別指標還可以使用關係運算子比較大小。
遇到的問題:作業第三題!!!!作業第三題!!!第三題...
希望老師可以講解 表示非常想不明白
作業十一總結
知識1 字串和字元指標 如果定義乙個字元指標接收字串常量的值,該指標就指向字串的首字元。這樣,字元陣列和字元指標都可以用來處理字串。例如 char sa array char sp point printf s sa printf s sp printf s n string 輸出 array po...
作業十一 總結
一 知識點 1.陣列名作為函式的引數 2.指標 陣列和位址間的關係 陣列的基位址是在記憶體中儲存陣列的起始位置,它是陣列中第乙個元素 下標為0 的位址,因此陣列名本身是乙個位址即指標值。3.常用的字串處理函式 字串的輸入和輸出 函式scanf 和gets 可用來輸入字串,而printf 和puts ...
作業十一總結
一 知識點 1.指標 陣列和位址間的關係 陣列的基位址是在記憶體中儲存陣列的起始位置,它是陣列中第乙個元素 下標為0 的位址,因此陣列名本身是乙個位址即指標值。指標是以位址作為值的變數,而陣列名的值是乙個特殊的固定位址,可以把它看作是常量指標。p a 等價於 p a 0 p a 1 等價於 p a ...