当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

关于“指针与数组是一样的”的探讨

    “指针与数组是一样的”对吗?

    我认为此种说法欠妥!

    首先,指针是变量而数组是常量,并且数组不是一种常指针。

    因为:指针本身占有存储空间,而数组名a与其地址&a是同一个值。

    ……


    “指针与数组是一样的”对吗?

    我认为此种说法欠妥!

    首先,指针是变量而数组是常量,并且数组不是一种常指针。

    因为:指针本身占有存储空间,而数组名a与其地址&a是同一个值。

    ……


    /*
    **************************************************************************
    *file name  : pointerVSarray.c
    *description: 数组就是指针这句话对吗?
    *note         : 我认为这句话不对。下面的程序在VC++6.0中运行结果显示:
                       a     : 12FF74
                      &a    : 12FF74
                     &a[0] : 12FF74
                       p     : 12FF74
                      &p    : 12FF70
                      由此可见:a和&a代表一个地址,数组名在内存中不占存储空间
                      而指针在内存中占据空间以一个变量的形式存储它所指向的变量
                      的地址
    *author     : kernelxu
    *version    : 1.0
    *date        : 2005/04/04
    **************************************************************************
    */

    #include <stdio.h>
    #include <stdlib.h>

    /*
    --------------------------------------------------------------------------
    - function :          main()
    --------------------------------------------------------------------------
    */


    main()
    {
         int a[3] = ;
         int *p;

         p=a;

         printf("a: %X\n",a);
         printf("&a: %X\n",&a);
         printf("&a[0]: %X\n",&a[0]);
         printf("p: %X\n",p);
         printf("&p: %X\n",&p);

         system("pause");

    }/*main()*/

相关内容
赞助商链接