還記得大一學指針的時候,小六寫的那個繞口令:一個指向指向變量的指針的指針變量是一個指向二維數組的指針變量。哈哈哈,一晃兩年過去了。濤哥說過要像豬同樣的活就得學會怎麼像狗同樣的活,否則你就得豬狗不如的活着……
步入正題,說說一道題弄懂指針。
#include<stdio.h>
#define FORMAT "%d,%d\n"
void main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
printf(FORMAT,a,*a);//0行首地址,0行0列元素地址
printf(FORMAT,a[0],*(a+0));//0行0列元素地址
printf(FORMAT,&a[0],&a[0][0]);//0行首地址,0行0列元素地址
printf(FORMAT,a[1],a+1);//1行0列元素地址,1行首地址
printf(FORMAT,&a[1][0],*(a+1)+0);//1行0列元素地址
printf(FORMAT,a[2],*(a+2));//2行0列元素地址
printf(FORMAT,&a[2],a+2);//2行首地址
printf(FORMAT,a[1][0],*(*(a+1)+0));//1行0列元素值
}
只要把註釋看懂,而後本身寫一遍就能瞭然咧!