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

来源:互联网 发布:大数据时代与法治政府 编辑:程序博客网 时间:2024/05/16 10:12
---------------  main.m  ---------------
#import <Foundation/Foundation.h>

int main()
{
   
 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
原创粉丝点击