首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

二维数组的有关问题

2012-05-13 
二维数组的问题请问对于二维数组a[3][3]变量a与a[0]与a[0][0]分别表示什么[解决办法]楼上正解,LZ需要注意,

二维数组的问题
请问对于二维数组a[3][3]
变量a与a[0]与a[0][0]分别表示什么

[解决办法]
楼上正解,LZ需要注意,在做地址运算时,虽然a和a[0]值相同,但是代表的意义不同,具体的详见C语言的书籍。
[解决办法]

C/C++ code
地址都是一样的.不过基类型不是一样的a[0]首行指针. a[0][0] 0行0列元素地址看下面的代码..#include<stdio.h>int main(){    int a[3][3]={1,2,3,4,5,6,7,8,9};    int (*pr)[3] = NULL;    int *pdata = NULL;    printf("a : %d\n",a);    for(int i = 0 ; i < 3 ; i++ )    {        printf("a[%d] :%d\n",i,a[i]);    }    for( i = 0 ;  i < 9 ; i++)    {        printf("a[%d][%d] 地址   :%d\n", i/3,i%3 ,(&a[i/3][i%3]));    }    for(i=0;i<9;i++)    {        printf("%d  ",a[i/3][i%3]);    }    printf("\n");    pdata = ((int *)(&a[0][0])+1);//指向第二个.    printf("%d\n",*pdata);    pdata++;//后移一个    printf("%d\n",pdata[0]);    pr  = (int(*)[3])(&a[0]+1);//指向第二行第1个    printf("%d\n",pr[0][0]);    pr++;//指向第三行第1个    printf("%d\n",pr[0][0]);    return 0;} 

热点排行