指標與陣列,指標陣列 陣列指標

2021-08-26 05:51:29 字數 960 閱讀 7471

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 = %p, *b + 1 = %p」, b+1, &b+1, *b+1);

// b等價於行指標,步長是一行的大小,&b代表整個陣列,不錯為整個陣列,*b指向列,乙個列乙個元素4個位元組

總結一

相同的位址含義是不一樣的

int *p1[10]; //指標陣列,陣列中的每乙個元素都是指標

int (*p2)[10];//陣列指標,指向有10個元素陣列的指標

printf("%d,%d",sizeof(p1),sizeof(p2));

//列印結果40,4,因為指標陣列首先是乙個陣列,而陣列指標首先是乙個指標

指標陣列用途一:在銀行查詢最有錢的賬號,可以對銀行賬戶進行排序,但不改變銀行賬戶中的資料.

int a[10] = ;

// 銀行賬戶查詢排序,且不允許兩兩交換,在這裡用到指標陣列

// 建立乙個指標陣列

int *p[10] =

for(int i = 0,i < 10,i++)

}}

陣列 指標陣列與陣列指標

一 陣列型別 int a 10 printf a d,a 1 d n a,a 1 printf a d,a 1 d n a,a 1 輸出結果 2 陣列元素的首位址是常量,不能修改,這是為了釋放記憶體空間所必需的,否則找不到釋放記憶體空間的首位址了 3 定義乙個陣列型別 定義陣列型別的格式如下 typ...

指標陣列與陣列指標

1.指標陣列 指標陣列中每乙個元素都是乙個指標,也既是存放字串的首位址。所以指標陣列適合處理若干個長度不等的字串。定義的一般形式為 型別說明符 指標陣列名 陣列長度 例如 int p 3 宣告乙個陣列,指標陣列p,由3個int型別指標變數元素組成 從運算子的優先順序分析,由於 的優先順序大於 所以p...

指標陣列與陣列指標

呵呵,實在是厭倦了繞口的解釋。指標陣列,故名思義,就是指標的陣列,陣列的元素是指標 陣列指標,同樣,就是直想陣列的指標。簡單舉例說明 int p 2 首先宣告了乙個陣列,陣列的元素是int型的指標。int p 2 宣告了乙個指標,指向了乙個有兩個int元素的陣列。其實這兩種寫法主要是因為運算子的優先...