zoukankan      html  css  js  c++  java
  • c 和指针 二维数组赋予一维数组指针 数组长度 数组与指针长度区别

    //拿到一块代码 客服 编译 链接错误的感觉(根据msdn提示)感觉很好!

    void test_sizof_hxf出题(){

        int iArr[2][3]={1,2,3,6,5,4};

        int **piArr=(int **)iArr;

        int (*piArr数组指针1)[1]=(int (*)[1])iArr;  //无法从“int [2][3]”转换为“int (*)[1]

           int (*piArr数组指针2)[2]=(int (*)[2])iArr;

              

                  int (*piArr数组指针3)[3]=iArr;

                      int (*piArr数组指针4)[4]=(int (*)[4])iArr;

              

        /************************************************************************/

        /*                                                                      */

        /************************************************************************/

        //int iArrb[2][];// 缺少下标

        //int iArrb[2][]={1,2,3,4};//// 缺少下标

        int iArr小于4[]={1,2,4};

        int iArr大于4[]={1,2,4,5,6};

        int iArr[]={0}; //不能分配常量大小为 0 的数组

       

        printf("%d %d \n",*(piArr+1),*(piArr));

        //!!! 数组+1..不等效于指针+1.....

        //!!数组取到值, *(piArr).. **iArr

        printf("下面测试 二维数组地址赋予 一位数组指针\n");

        printf("piArr数组指针1 %d \n",**(piArr数组指针1));

           printf("piArr数组指针2 %d \n",**(piArr数组指针2));

           printf("piArr数组指针3 %d \n",**(piArr数组指针3));

               printf("piArr数组指针4 %d \n",**(piArr数组指针4));

           printf("\n");

        //使用强制转换赋值,结果未知。这与gcc效果不一样。piArr数组指针1 2

        //

        printf("test_sizof_hxf出题 测指针 %d %d %d \n",sizeof(iArr),sizeof(iArr+1),sizeof(iArr+3));

        //只有 数组是全部的大小!!!

        //指针不会检查的

        printf("*iArr,*(iArr+1),**(iArr),**(iArr+1),*(*(iArr)+1)  %d %d %d %d %d\n",*iArr,*(iArr+1),**(iArr),**(iArr+1),*(*(iArr)+1) );

        //二维数组取值。**

        printf("sizeof(iArr小于4),sizeof(iArr大于4),sizeof(iArr) %d %d %d \n",sizeof(iArr小于4),sizeof(iArr大于4),sizeof(iArr));

       

    //201222523:27:26

    //强制转换!

    //sizeof :

    //取值 :二维数组  ..指针。

    }

  • 相关阅读:
    在Repeater中动态添加服务器端(按钮)控件
    两种自定义表单设计方案 [转贴]
    如何解决在.Net中用Sql语句向SqlServer数据库中插入特殊字符失败的问题?
    Visual Studio 2005 IDE 技巧和窍门
    C#的Windows编程中多语言的实现
    NET设计模式(18):迭代器模式(Iterator Pattern)(转载)
    “/”应用程序中的服务器错误。当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限。
    union的妙用
    数据类型—C++基础篇
    C++,VC++,MCF和SLT的关系
  • 原文地址:https://www.cnblogs.com/titer1/p/2368280.html
Copyright © 2011-2022 走看看