1、陣列的本質
提出問題:
— 假設a是乙個陣列,a+1 = ?
— 假設a是乙個指標,a+1 = ?
— 指標運算的意義是什麼?結果又是什麼?
指標+n 的本質就是指標所指向的位址+指向資料的型別佔的記憶體大小 * n
#include int main()
; int* p = null;
printf("a = 0x%x\n", (unsigned int)(a));
printf("a+1 = 0x%x\n", (unsigned int)(a+1)); //陣列名+1等同於指標+1
2、指標的運算
p1 - p2 = ( (unsigned int)p1 - (unsigned int)p2 )/sizoeof(type)
注意:
— 只有當兩個指標指向同乙個陣列的元素時,指標相減才有意義,其意義為指標所指元素的下標差
— 當兩個指標指向的元素不在同乙個陣列中時,結果未定義
3、指標的比較
29 指標和陣列分析(下)
注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 4.4.5 一 問題 陣列名可以當做指標常量使用,那麼指標是否也可以當做陣列名來使用呢?二 陣列的訪問方式 1 以下標的形式訪問陣列中的元素 int main a 1 3 a 2 5 re...
指標和陣列分析(上)
陣列是一段連續的記憶體空間 陣列的空間大小為sizeof arrary type arrary size 陣列名可看做指向陣列第乙個元素的常量指標 a 1的意義是什麼?結果是什麼?指標運算的意義是什麼?結果又是什麼?1 include 2 intmain 3 5int p null 6 printf...
C 28 指標和陣列分析
問題 a 1的意義是什麼?結果是什麼?指標運算的意義是什麼?結果是什麼?程式設計分析 a 1 示例 include int main int p null printf a 0x x n unsigned int a printf a 1 0x x n unsigned int a 1 陣列名看著常...