076.Pointer Two Array 指向多维数组的指针

来源:互联网 发布:js继承例子 编辑:程序博客网 时间:2024/06/05 05:11
---------------  main.m  ---------------
#import<Foundation/Foundation.h>

intmain()
{
   
float arr[3][4] = {
        {
1.2, 2.4},
        {
5.6, 4.5 , 3,2},
        {-
1.2, 4.9}
    };
    NSLog(
@"arrarr[0]代表的地址是相同的:");
    NSLog(
@"%p", arr);
    NSLog(
@"%p", arr[0]);
    NSLog(
@"arr + 2*(arr + 2)代表的地址是相同的:");
    NSLog(
@"%p", arr + 2);
    NSLog(
@"%p", *(arr + 2));

   for(float* p = arr[0] ; p < arr[0] + 12; p++)
    {
       
// 控制每输出4个元素,输出一个换行
       
if((p - arr[0]) %4 == 0&& p > arr[0])
        {
            printf(
"\n");
        }
        printf(
"%g , ", *p);
    }
    printf(
"\n");
}

一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。

二、本节代码涉及到的知识点:
1.arr代表二维数组名,即二维数组的地址,地址值为0x00010001。
2.arr[0]、*arr、*(arr+0)代表二维数组的第一个数组的数组名,
  即二维数组的第一个数组的地址,地址值为0x00010001。
3.注意,这里的 arr 与 *arr 保存的地址是完全相同的。
0 0