c++字符指针未解之谜 *a[i][0]

void strsort(a[11][256]){	//表示装255个字符的字符串有11个
	char *temp;
	~~temp=a[i]; (*a[i])=a[j][0]; *a[j]=temp;~~	//仅地址交换,这里不会写了
}

字符指针写法很迷……它不同于其他类型指针

测试一下:

void test(){
	char *a=new char[5]{'1','3','5','7'}; int *b=new int (1357);
	cout<<a<<' '<<b<<'\n'; //结果:输出a的字符串内容,b的地址
	cout<<*a<<' '<<*b<<'\n'; //结果:输出a的字符串内容,b的内容
	cout<<&a<<' '<<&b<<'\n'; //结果:输出a的地址,b的地址
}

建议不要给字符指针叠buff了

&min[4] ,0x2723ff730
min[4]  ,0x561c43efe
min     ,0x2723ff710
&min    ,0x2723ff710
*min    ,0x7ff76140545c
posted @ 2021-12-22 18:34  Nolca  阅读(134)  评论(0编辑  收藏  举报