---------------
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( @"arr 与 arr[0] 代表的地址是相同的: " );
NSLog( @"%p" , arr);
NSLog( @"%p" , arr[ 0 ]);
NSLog( @"arr + 2 与 *(arr + 2) 代表的地址是相同的: " );
NSLog( @"%p" , arr + 2 );
NSLog( @"%p" , *(arr + 2 ));
{
float arr[ 3 ][ 4 ] = {
{ 1.2 , 2.4 },
{ 5.6 , 4.5 , 3 , 2 },
{- 1.2 , 4.9 }
};
NSLog( @"arr 与 arr[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" );
{
// 控制每输出 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 保存的地址是完全相同的。