#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;
}
指针的第二次总结
最新推荐文章于 2023-04-18 00:06:10 发布