首页 > 编程语言 > 详细

数组和指针的区别

时间:2019-08-24 20:04:34      阅读:118      评论:0      收藏:0      [点我收藏+]

看例子:

int main( )
{
    char a[]="hello";
    char *p ;

    p="zhangning";
    printf("&p=%x\n",&p);
    printf("p=%x\n",p);
    printf("p=%s\n",p);

    printf("a=%x\n",a);
    printf("a=%s\n",a);
    printf("&a=%x\n",&a);
    return 0;
}

 

注意:1,对于数组,a指首元素地址,&a指整个数组(对象)的首地址,故a和&a值相等。

   2,a+1跨了一个sizeof(a[0])是第二个元素地址,但&a+1是跨了一个sizeof(a)的地址。

      3,a[1] = *(a+1),同样p[1] = *(p+1)。

   4,表示字符串时&a和a指向该字符串的首地址,p指向字符串首地址,&p没有意义

 

数组和指针的区别

原文:https://www.cnblogs.com/aiden-zhang/p/11405709.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!