深入理解二維陣列

2022-05-04 07:06:07 字數 1061 閱讀 9665

1 #include2

#define debug 0

3int

main()

4,},i,j;

6#if debug

7 a++;

8 a[0]++;

9 a[1]++;

10 a[2]++;

11 a[3]++;

12#endif

13 printf("

a:%p a+1:%p\n\n

",a,a+1);//

相差16位元組

1415 printf("

a[0]:%p a[0]+1:%p &a[0][1]=%p\n

",a[0],a[0]+1,&a[0][1

]);

16 printf("

a[1]:%p a[1]+1:%p &a[1][1]=%p\n

",a[1],a[1]+1,&a[1][1

]);17 printf("

a[2]:%p a[2]+1:%p &a[2][1]=%p\n

",a[2],a[2]+1,&a[2][1

]);18 printf("

a[3]:%p a[3]+1:%p &a[3][1]=%p\n

",a[3],a[3]+1,&a[3][1

]);19

return0;

20 }//

a[0] ,a[1],a[2],a[3]是一維陣列名,代表一維陣列的起始位址,是位址常量

21//

a+1和a的位址差16個位元組,相當於四個元素,a代表第一行的位址,a+1代表第二行的位址。

22/*

a[0]+1和a[0]的位址差4個位元組,相當於1個陣列元素。因此a[0]+1相當於元素a[0][1]的位址

深入理解C C 二維陣列

本來以為自己對二維陣列的理解還可以,沒感覺有什麼,但是今天小夥伴問了乙個問題感覺迷惑了好久,於是決定細緻的記錄一下,一步一步的 各種關於二維陣列的問題,鞏固基礎。首先定義二維陣列 int a 3 3 然後開始研究二維陣列名和位址的關係 列印a a 0 和 a 0 0 的位址 cout the val...

PCA降維深入理解

網上資料非常多,大部分都是講先求協方差,協方差怎麼求的,但是沒有講為什麼要求協方差,為什麼要選特徵值最大的特徵,特徵值最大到底代表了什麼含義。簡單回憶 計算協方差到底是選行還是選列呢,記住協方差矩陣是計算不同維度間的協方差,不是兩個樣本間的,所以我們求協方差的目的就是計算不同緯度之間的相關性,並選出...

深入理解指標 陣列

指標的本質是乙個變數,也需要占用一定的空間一般為四個位元組不論其指向的型別。指標用來儲存記憶體位址的值。通過指標我們能做到不通過變數來改變變數的值。號的意義 在指標宣告時,代表宣告的變數為指標變數。int i 10 int p i 在指標使用時,表示取指標所指向的位址中的值。p 12 另外指標宣告時...