代码:
#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博客_下标运算符
另: