嵌入式c语言学习--二维数组的地址写法

总结:

取地址表达方式:                          取值表达式:

&arr[i][j]                                                            *&( arr[i][j])=arr[i][j]

arr[i]+j     //数组名字表示地址                            *(arr[i]+j)   *取地址里面的内容的作用

*(arr+i)+j                                                            *(*(arr+i)+j)

地址:arr[i]=*(arr+i)  记住!!

           &arr[i]=arr+i  //&与*抵消

嵌入式c语言学习--二维数组的地址写法_第1张图片

此图嵌入工程师会考

代码:

#include 
//二维数组的地址写法
int main()
{
	int arr[2][3]={{11,22,33},{44,55,66}};
	int i;
	int j;
	for(i=0;i<2;i++){
		for(j=0;j<3;j++){//   地址表达方式:         取值表达方式:      
			printf("add:0x%p;data:%d  \n",&arr[i][j],arr[i][j]);
			printf("add:0x%p;data:%d  \n",arr[i]+j,*(arr[i]+j));
			printf("add:0x%p;data:%d  \n",*(arr+i)+j,*(*(arr+i)+j));
			printf("------------------------\n");
		}
			
		
	}
	return 0;
}

结果:

嵌入式c语言学习--二维数组的地址写法_第2张图片

你可能感兴趣的:(嵌入式c语言学习,c语言,学习,算法)