Loading

C语言指针与指向指针的指针

#include <stdio.h>
#include <string.h>
int main()
{
    char a[]="hello world";
    char *p=a;
    char **ptr=&p;
   printf("a=%s\n",a);
   printf("&a=%d\n",&a);
    printf("p=%d\n",p); //p为a的地址
    printf("*p=%c\n",*p);  //*p为字符a[0]
    printf("ptr=%d\n",ptr);  //ptr为p的地址
    printf("*ptr=%d\n",*ptr);  //*ptr为p的地址保存的值,即a的地址
    printf("**ptr=%c\n",**ptr);   //**ptr为a的地址保存的值,即字符a[0]
  printf("sizeof(a)=%d\n",sizeof(a));
  printf("sizeof(p)=%d\n",sizeof(p));
  printf("sizeof(*p)=%d\n",sizeof(*p));
  printf("sizeof(ptr)=%d\n",sizeof(ptr));
  printf("sizeof(*ptr)=%d\n",sizeof(*ptr));
  printf("sizeof(**ptr)=%d\n",sizeof(**ptr));
  return 0;
}

另外,从上述代码中sizeof部分可以看出各变量的类型,指针类型占4字节,字符类型占1字节.

 

debug:

 

输出:

posted @ 2018-04-21 10:32  wincent98  阅读(191)  评论(0编辑  收藏  举报