再次理解指针的指针

书接上回

C 练习实例77-指向指针的指针-二维数组-CSDN博客

这次用字符数组来理解指针,以前看到一句话说,指针是c语言的灵魂,以前不以为然,现在有一点点理解这句话了。指针就是地址,地址就是指针,因为地址,所以它是灵魂啊。

一图解千愁

代码

#include <stdio.h>
int main()
{
	const char *s[]={"man","woman","girl","boy","sister"};
	printf("指针的地址:\n");
	printf("%d\n",s);//指针地址
	printf("%d\n",s+1);//指针偏移
	printf("%d\n",s+2);//指针偏移
	printf("%d\n",s+3);//指针偏移
	printf("%d\n",s+4);//指针偏移
	printf("\n");
	printf("指针的地址:\n");
	printf("%d\n",&s[0]);
	printf("%d\n",&s[1]);
	printf("%d\n",&s[2]);
	printf("%d\n",&s[3]);
	printf("%d\n",&s[4]);
	printf("\n");
	printf("指针存放的值:\n");
	printf("%d\n",s[0]);
	printf("%d\n",s[1]);
	printf("%d\n",s[2]);
	printf("%d\n",s[3]);
	printf("%d\n",s[4]);
	printf("\n");
	printf("指针存放的值:\n");
	printf("%d\n",*(s+0));
	printf("%d\n",*(s+1));
	printf("%d\n",*(s+2));
	printf("%d\n",*(s+3));
	printf("%d\n",*(s+4));

	//遍历方法一
	for(int i=0;i<5;i++){
		printf("%s ",s[i]);
	}
	printf("\n");
	//遍历方法二
	for(int i=0;i<5;i++){
		printf("%s ",*(s+i));
	}
	printf("\n");
	//我要找第5个单词的第6个字母
	printf("%c\n",*(*(s+4)+5));
	printf("%c\n",*(s[4]+5));
	printf("%c\n",s[4][5]);
	return 0;
}

运行

指针的地址:
6684144
6684152
6684160
6684168
6684176

指针的地址:
6684144
6684152
6684160
6684168
6684176

指针存放的值:
4214784
4214788
4214794
4214799
4214803

指针存放的值:
4214784
4214788
4214794
4214799
4214803
man woman girl boy sister
man woman girl boy sister
r
r
r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值