#include<stdio.h>
int main(){
// ar的類型爲: 1 char[]:表示一個數組,2 char *:表示一個常量指針
char ar[10]={0};
printf("char a[10]:\n");
printf("&ar = %p\n", &ar);
printf("ar = %p\n", ar);
printf("*ar = %p\n", *ar);
printf("ar[0] = %p\n", ar[0]);
printf("\n");
// par的類型爲:char *,指向的是char類型變量,所以char * = char []
char *par=ar;
printf("char* par=a:\n");
printf("&par = %p\n", &par);
printf("par = %p\n", par);
printf("*par = %p\n", *par);
printf("par[0] = %p\n", par[0]);
printf("\n");
// ppar的類型爲:char (*)[10],指向的是char [10]類型變量 char(*)[10]=&(char [10])
char (*ppar)[10]=&ar;
printf("char (*ppar)[10]=&ar:\n");
printf("&ppar = %p\n", &ppar);
printf("ppar = %p\n", ppar);
printf("ppar[0] = %p\n", ppar[0]);
printf("*ppar = %p\n", *ppar);
printf("(*ppar)[0] = %p\n", (*ppar)[0]);
printf("**ppar= %p\n", **ppar);
printf("\n");
// a的類型爲:1 char [][20]:表示一個數組,2 表示char (*)[20]的常量指針
char a[10][20]={0};
printf("char a[10][20]:\n");
printf("&a = %p\n", &a);
printf("a = %p\n", a);
printf("*a = %p\n", *a);
printf("**a= %p\n", **a);
// ppa的類型爲(*)[10][20],指向的是char[10][20]類型的變量,char(*)[10][20]=&(char [][20])
char (*ppa)[10][20]=&a;
char *ttt=a[0];
// pt的類型是char (*)[20]:指向的是char [20]的變量,所以char (*)[20]=char[][20]
char (*pt)[20]=a;
return 0;
}
指針的第二次總結
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.