所謂陣列,是有序的元素序列。 若將有限個型別相同的變數的集合命名,那麼這個名稱為陣列名。組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。用於區分陣列的各個元素的數字編號稱為下標。陣列是在程式設計中,為了處理方便, 把具有相同型別的若干元素按無序的形式組織起來的一種形式。 這些無序排列的同類資料元素的集合稱為陣列。
陣列的形式
一維陣列
int a [10] =
int為型別名,a為陣列名,則是陣列長度,{}中的則是初值表.
二維陣列
二維陣列的賦初值方式有兩種:
1.分行賦初值
int a [2] [3] = ,}
2.順序賦初值
int a [2] [3] =
[2]則指的是行長度,[3]則指的是列長度
二維陣列的賦初值方式有兩種:
一些注意點:
字串字串常量就是用一對雙引號括起來的字串行,即一串字元,其擁有乙個結束標誌'\0',將字串存入字元陣列時,陣列長度至少是字串的有效長度+1.
賦值和輸入字串
static char s [80];
s [0] = 'a';
s [1] = '\0';
"a"和'a'的區別
"a"是字串常量,包括'a'和'\0',用一維字元陣列存放;'a'是字元常量,只有乙個字元,可以賦值給字元變數。
指標是程式語言中的乙個物件,利用位址,它的值直接指向存在電腦儲存器中另乙個地方的值。由於通過位址能找到所需的變數單元,可以說,位址指向該變數單元。因此,將位址形象化的稱為「指標」。意思是通過它能找到以它為位址的記憶體單元。
定以指標變數要使用指標宣告符 ,定義指標變數的一般形式為:
型別名 *指標變數名
int i, *p;
int i, *p;
p = &i; //為存放變數i的位址
p = 0;
p = null; 則說明了怎樣把特殊值0賦給指標p,這時指標的值為null
p = (int *)1732 //此條語句中使用了強制轉換來避免編譯錯誤,表示p指向位址符為1732的int型變數
指標的基本運算
int *p, a = 3;
p = &a;
int a = 3; *p1, *p2;
p1 = &a;
p2 = p1;
將變數的位址賦給指標p1,再將p1的值賦給指標p2。
注意:使用強制型別轉換運算子,可以將乙個表示式轉換成給定的型別。其一般形式為:
(型別名) 表示式
//指標和陣列及儲存單元
#includeint main(void)
指標與陣列
指標名是個變數,陣列名是乙個常量
陣列a是指標常量,不是變數,所以像a = p, a++, a+=2這樣的表示式都是非法的,不能改變指標常量a的值。如果變數p是指向某個指定型別變數的指標,那麼表示式p+1代表訪問該型別的下乙個變數的記憶體位址。比如:p+i ,p++ , p+=i這樣的表示式是有意義的。
陣列是一塊記憶體連續的資料。指標是乙個指向記憶體空間的變數。
指標+1指的是增加乙個儲存單元,陣列+1後的位址指的是下乙個元素的位元組,而不是位元組。
若想改變常量的值則將它賦給指標變數
#includeint bsearch (int *p, int n, int x); //函式宣告
int main(void)
; //有序陣列
int x, m;
printf("enter x:"); //提示輸入
scanf("%d", &x);
m = bsearch (a, 10, x);
if (m>=0)
printf("index is %d\n", m);
else
printf("not found\n");
return 0;
} int bsearch (int *p, int n, int x) //二分查詢函式
if(low <= high)
return mid; //找到返回下標
else
return-1; ///找不到返回-1
}
指標與陣列,指標陣列 陣列指標
int a 10 print n a p,a p a,a print n a 1 p,a 1 p a 1,a 1 a做乙個指標,步長為4,指向乙個元素,a做乙個指標,步長為40,指向乙個維陣列 int b 3 4 print n b p,b p,b p b,b,b print n b 1 p,b 1...
指標陣列與陣列指標
1.指標陣列 指標陣列中每乙個元素都是乙個指標,也既是存放字串的首位址。所以指標陣列適合處理若干個長度不等的字串。定義的一般形式為 型別說明符 指標陣列名 陣列長度 例如 int p 3 宣告乙個陣列,指標陣列p,由3個int型別指標變數元素組成 從運算子的優先順序分析,由於 的優先順序大於 所以p...
指標陣列與陣列指標
呵呵,實在是厭倦了繞口的解釋。指標陣列,故名思義,就是指標的陣列,陣列的元素是指標 陣列指標,同樣,就是直想陣列的指標。簡單舉例說明 int p 2 首先宣告了乙個陣列,陣列的元素是int型的指標。int p 2 宣告了乙個指標,指向了乙個有兩個int元素的陣列。其實這兩種寫法主要是因為運算子的優先...