注册 登录
编程论坛 C++教室

数组指针与指针数组的区别,不明白,我打的代码不知道哪里出错

午夜小学徒 发布于 2014-08-01 20:49, 507 次点击
int _tmain(int argc, _TCHAR* argv[])
{
    char *p1[4]={"iphone" , "ios" , "wp" , "id"};
    int i = 0 , *p2[3] , a[3] = { 1 , 2 ,3 },b[3][2] = { 1 ,2 , 3 ,4 , 5 , 6 };
    for (int i = 0;i < 4 ; i++)
    {
        printf( "\n %s ", p1[i] );
        printf( "\n" );
    }
    for (int i = 0 ; i < 3 ; i++ )
    {
        p2[i] = &a[i];
        for ( int i = 0 ; i < 3 ; i++ )
        {
            printf( "%d ",p2[i] );
            printf( "\n" );
        }
    }

    for (int i = 0 ; i < 3 ;i++ )
    {
        p2[i] = b[i];
        for ( int i = 0 ; i < 3 ; i++ )
        {
            printf( "%s %d\n", *p1[i+1] , *p2[i] );
        }
    }

    getchar();
    return 0;
2 回复
#2
午夜小学徒2014-08-01 20:50
0x63ABED6C (msvcr110d.dll) (指针数组与数组指针.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x00000069 时发生访问冲突。
#3
stop12042014-08-05 07:40
以前看到这里的时候我用了几天时间才想明白-.- 当然不包括上班.


数组指针   即  数组里面包含指针
*p[10]
_______________________________________
指针数组   即  一个指针指向数组
(*p)[10]
1