指针的第二次总结

#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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值