1. 程式人生 > >c語言指標筆記

c語言指標筆記

指標是一個變數,變數的值是記憶體地址。

int a = 10;
/**
 * 指標型別為 int*
 * 指標指向型別 int
 * 列印(a)會輸出10
 * 列印(&a)會輸出變數a所在的記憶體地址
 * 列印(*q)會輸出變數a的值的記憶體地址
 * 列印(q)會輸出指標q指向的記憶體地址
 */
int *q = &a;

/**
 * 指標型別為 int*
 * 指標指向型別 int
 * 列印(*p)會輸出10
 * 列印(p)會輸出指標p指向的記憶體地址
 * 列印(&p)會輸出儲存p指向記憶體地址的記憶體地址,
 * 因為指標也是變數,需要儲存到記憶體,所以指標也有記憶體地址
 */
int *p = 10;

/**
 * 指向指標的指標
 * 列印(**r)輸出10
 * 假設z = (*r),(**r)可以看作(*z),列印(*z)輸出10,
 * 列印(*r)輸出一個記憶體地址x,[等價於列印(z)]
 * 列印(r)會輸出記憶體地址x的記憶體地址
 */
int **r = 10;