在C中初始化2d数组

时间:2012-09-19 22:42:53

标签: c

这是我的代码:

int main() { 
    int x, y; 
    int *xptr, *yptr; 
    int array[10][10]; 
    int j; 
    int k; 
    int z = 0; 

    for(j = 0; j < 10; j++) { 
        for(k = 0; k < 10; k++) { 
            array[j][k] = j * 10 + k; 
        } 
    } 

    xptr = &array[0][0]; 

    for(j = 0; j < 10; j++) { 
        for(k = 0; k < 10; k++) { 
            printf("array[%d][%d] = %d \n", j, k, *(xptr + j), (xptr + k)); 
        } 
    } 

    system("PAUSE"); 
}

我正在尝试初始化一个二维数组,以便在[0] [0]它等于0而在[9] [9]它等于99.按照现在的方式,[0] [0-9 ]所有等于0然后[1] [0-9]都等于1.我如何以我提到的方式正确加载这个数组?

2 个答案:

答案 0 :(得分:0)

for(j = 0; j < 10; j++) {
      for(k = 0; k < 10; k++) {
            array[j][k] = j*10 + k;
      }
}

答案 1 :(得分:0)

我假设您实际上已经宣布了所有内容,但未在示例中包含它。你只想要

array[j][k] = j*10 + k;