c语言指针问题--非高手勿进
#define ICU_BASE 0x00001010#define ICGU *((volatile uint *) (ICU_BASE + 0x0480)) //谁能给解释一下这句。
本人菜鸟。。。
(volatile uint *) (ICU_BASE + 0x0480) 表示地址 ICU_BASE + 0x0480 所保存的数据,对吗?为什么还要再加一个*,弄成双指针??
int main() { int a[3][4]={6,29,22,12,5,18,21,36,33,19,66,32}; /*定义一个3 * 4的二维数组*/ int i,j=0,(*p)[4]=a,*q=a[0]; /*定义一个指向一个长度为4的数组的指针p,定义一个指针q,指向a数组的首地址*/ for( i = 0; i < 3; i++) { if( i == 1) { (*p)[i+i/2]=*q+1; } else { p++; ++q; } } cout<<"a[i][j]\n"; for(i=0;i<3;i++) { for ( j = 0; j < 4; j++) { cout << a[i][j] <<" "; } cout << endl; } cout<<endl; cout<<"*((int *)p)="<<*((int *)p)<<"* q="<<*q<<endl; return 0; }如果你没学过C++ 我告诉你 cout《《就是输出的意思 你解释下