int num=10;
int * p=#
指標是乙個比較特別的變數,它裡面儲存的值可以被解釋為是乙個記憶體的位址,上面的例子p就是這個指標名,指標的型別是int *,跟num一樣,num裡存的是int型別的數,只不過p裡存的是int型別數的位址。所以說指標就是位址,位址就是指標。
*p中的*是操作符表示指向變數p對應的儲存空間,通俗的解釋,1、遇見*,先把右邊的東西找到,找到是p 2、p的是多少呢,是乙個位址如&num 3、找到位址&num對應的儲存空間是10,所以*p的值就是10。
2.1 定義一維陣列 :
型別符 陣列名 [常量表示式];
如 int num[4];
陣列初始化:
int num[4]=; int num1[4]=; int num2[4]=;
陣列名是乙個位址常量。
2.2 定義二維陣列
型別符 陣列名[常量表示式1][常量表示式2];
如 int num[3][2]表示三行兩列的整形陣列,行可以省略,列一定不能省略。
int num[3][2]=; int num1[3][2]=,,};
2.3 定義二維陣列
int a[3][2]=,,};
printf("a=%p\n",a);
printf("&a=%p\n",&a);
printf("a[0]=%p\n",a[0]);
printf("&a[0]=%p\n",&a[0]);
printf("&a[0][0]=%p\n",&a[0][0]);
printf("a+1=%p\n",a+1);
printf("&a+1=%p\n",&a+1);
執行結果如下
a= 0x7fff5fbff7f0
&a= 0x7fff5fbff7f0
a[0]= 0x7fff5fbff7f0
&a[0]= 0x7fff5fbff7f0
&a[0][0]= 0x7fff5fbff7f0
a+1= 0x7fff5fbff7f8
&a+1= 0x7fff5fbff808
由此可見陣列名確實是乙個位址常量 ,a表示陣列的首位址,&a 表示陣列a的位址,a+1表示向後偏移一行,&a+1表示整個陣列偏移
c語言 陣列 指標 函式 小結
int f f是乙個函式,返回乙個整型值 int f f是乙個函式,返回乙個整型指標 int f f是乙個函式指標,所指向的函式返回乙個整型值 int f f是乙個函式指標,所指向的函式返回乙個整型指標 int f f是乙個整型陣列 int f f是乙個指標陣列,陣列元素的型別是整型指標 int f...
iOS之C語言初學小結
1 轉義字元注意 printf 今天是乙個好日子 n 中紅色要顯示寫中文的沒問題,寫英文的要加轉義符 如 printf 今天是個好日子 n n表示換行 t表示空格 表示 2 scanf函式 scanf函式是乙個阻塞式函式如 char a scanf c a printf a c a 需要使用者輸入乙...
c語言指標實驗心得與小結 C語言指標小結
最近發現自己c語言基礎還是很薄弱,去廣圖借了本 c指標原理揭秘 基於底層實現機制 深入學下指標大家想必都在windows中使用過ping 127.0.0.1 t,其中這些引數怎麼來的呢?看下面 include include int main int argc,char ar 我們平時直接就int ...