大神来解答一下指针问题
韩半仙 2014-12-12 05:35:12 #include <stdio.h>
void test(char *ha[])
{
printf("++++++haha++++++++\n");
printf("%p\t%p\t%p\t%p\n",ha[0],ha[1],ha[2],ha[3]);
printf("%p\t%p\t%p\t%p\n",ha,ha+1,ha+2,ha+3);
printf("%s\t%s\t%s\t%s\n",ha[0],ha[1],ha[2],ha[3]);
printf("%s\t%s\t%s\t%s\n",*ha,*(ha+1),*(ha+2),*(ha+3));
printf("%c\t%c\t%c\t%c\n",**ha,**(ha+1),**(ha+2),**(ha+3));
}
int main(int argc,char **argv)
{
if(argc == 2)
{
printf("%p\t%p\n",argv[0],argv[1]);
printf("%x\t%x\n",*argv[0],*argv[1]);
printf("%p\t%p\n",argv,argv+1);
printf("%s\t%s\n",*argv,*(argv+1));
printf("%c\t%c\n",**argv,**(argv+1));
}
char *c[] ={"cao","gan","cao","gan"};
test(c);
return 0;
}
#./test haha
输出如下:
0x7fff17be54cf 0x7fff17be54de
2e 68
0x7fff17be51a8 0x7fff17be51b0
./test_pointer haha
. h
++++++haha++++++++
0x400932 0x400936 0x400932 0x400936
0x7fff17be50a0 0x7fff17be50a8 0x7fff17be50b0 0x7fff17be50b8
cao gan cao gan
cao gan cao gan
c g c g