关于*,&和数组的一些想法

代码:

#include<iostream>
using namespace std;

int main(){
	int age=30,age1=10;
	int* pointToage;
	
	pointToage=&age1;
	int a[5]={5,4,3,2,1},*p=a;
	cout<<*p<<endl;
	//数组名称本身就是一个地址,数组本身是一个连续存放的地址
	
	int a2[5][5]={{6,5,4},{9,8,7}};
	cout<<*((*a2)+1)<<endl<<*(*(a2+1))<<endl;
	//通过这个例子我们可以看出,整型的n维数组相当于n重的取引用符,需要n个解引用符解引用后才能获得它的值
	
	char s[8]={'B','J'};
	char s1[8]="BeiJing";
	char s2[8][8]={{"BeiJing"},{"BJ"}};
	//而对于字符型的n维数组,显然,n维数组相当于(n-1)重的取引用符,我们仅需(n-1)个解引用符即可获得其最后一维的字符串
	cout<<s2<<endl;
	
	//一维:s1[0] == *s1 : s1[0]     &s1[0] == s1 : s1   &s1  : 地址
	//二维:*s2  :  s2[0]    *s2[0]  ==s[0][0]    s2  == &s2[0]  :  地址  
	//即 下标运算符和解引用符在此作用相同
	cout<<&s1<<endl<<&s1[0]<<endl<<*s2[0]<<endl;
	//指针本身是一个地址,使用解引用运算符*解引用后才是一个值,
	return 0;
}

样例输出:

5
5
9
0xf9619ffd70
0xf9619ffd68
BeiJing
B

--------------------------------
Process exited after 0.01802 seconds with return value 0

Press ANY key to exit...

 搭配下列文章食用更香哟~~

(5条消息) C语言中&运算符和*运算符详解_凯风自南c的博客-CSDN博客_c语言&和*

(5条消息) c语言 数组名和下标运算符_专业嵌入式的博客-CSDN博客_下标运算符

另:

(5条消息) c语言,一维数组指针_专业嵌入式的博客-CSDN博客_一维数组指针

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值