C语言深入理解通过指针引用多维数组(指针中使用起始地址 元素地址 元素值的区分)

 
#include "pch.h"
#include <iostream>
#include<stdio.h>

int main()
{
  //  std::cout << "Hello World!
";

	//printf("This is C program");
	int a[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
	printf("%d,%d
", a, *a);                               //0行起始地址      0行0列元素地址
	printf("%d,%d
", a[0], *(a + 0));						//0行0列元素地址
	printf("%d,%d
", &a[0], &a[0][0]);						//0行起始地址       0行0列元素地址
	printf("%d,%d
", a[1], a+1);							//1行0列元素地址     1行起始地址
	printf("%d,%d
", &a[1][0], *(a+1)+0);					//1行0列元素地址     
	printf("%d,%d
", a[2], *(a+2));						//2行0列元素地址     
	printf("%d,%d
", &a[2], a+2);							//2行的起始地址
	printf("%d,%d
", a[1][0], *(*(a+1)+0));				//1行0列的值
	printf("%d,%d
", *a[2], *(*(a + 2) + 0));				//2行0列的值
	
	return 0;

}

 

原文地址:https://www.cnblogs.com/a1439775520/p/12947002.html