《指针的编程艺术(第二版)》一1.3 二维数组

    xiaoxiao2024-01-07  157

    本节书摘来自异步社区《指针的编程艺术(第二版)》一书中的第1章,第1.3节,作者 蔡明志,更多章节内容可以访问云栖社区“异步社区”公众号查看

    1.3 二维数组

    指针的编程艺术(第二版)接下来讨论二维数组。如果有一个二维数组如下。

     `javascriptint x3 = {10, 20, 30, 40, 50, 60};

    此数组共有6个元素(3行,2列),每一个元素的地址为&x[0][0]、&x[0][1]、&x[1][0]、&x[1][1]、&x[2][0]、&x[2][1]。我们以范例address2Array-5来举例说明。 范例address2Array-5

    / address2Array-5.c /

    include

    include

    int main(){  int x3 = {10, 20, 30, 40, 50, 60};  int i, j;  printf("x is %pn", x);

      printf("n");  for(i=0; i<3; i++)    for(j=0; j<2; j++)       printf("&x%d = %pn", i, j, ξ);

      printf("n");  for(i=0; i<3; i++)    printf("x[%d] = %pn", i, x[i]);      printf("n");  for(i=0; i<3; i++)    printf("x+%d = %pn", i, x+i);

      printf("n");  for(i=0; i<3; i++)    for(j=0; j<2; j++)     printf("x%d = %dn", i, j, xi);  getch();  return 0;}

    输出结果 <div style="text-align: center"> <img src="https://yqfile.alicdn.com/63151bedb75a1be85b8cef41f8c6e1920d55e6a3.png" > </div> 从输出结果得知x[0] 等于&x[0][0],x[1]等于&x[1][0],x[2]等于&x[2][0]。由于此数组的名称是x,所以x等于&x[0][0],x+1等于&x[1][0],x+2等于&x[2][0],以图表示如下。 <div style="text-align: center"> <img src="https://yqfile.alicdn.com/f4c218acf0a7a2637db8bfca07e867617d0818ca.png" > </div> 虽然x[0]和x皆表示&x[0][0],如果两者加1,结果是否一样呢?请参阅范例address2Array-10。 范例address2Array-10

    / address2Array-10.c /

    include

    include

    int main(){  int x[][3] = {10, 20, 30, 40, 50, 60};  int i, j;

      printf("x = %#x, &x0 = %#xn", x, &x0);

      printf("n");  for(i=0; i<2; i++)    printf("x[%d] is %#xn", i, x[i]);

      printf("n");  for(j=0; j<6; j++)    printf("x[0]+%d is %#xn", j, x[0]+j);       printf("n");  for(j=0; j<3; j++)    printf("x[1]+%d is %#xn", j, x[1]+j);

      printf("n");  for(i=0; i<2; i++)    printf("x+%d is %#xn", i, x+i);   getch();  return 0;}

    输出结果 <div style="text-align: center"> <img src="https://yqfile.alicdn.com/dcf45782b962173fc5792f843ed33291761ca787.png" > </div> 相关资源:Visual C 开发实战1200例(第1卷).(清华出版.刘锐宁.梁水.李伟明).part1
    最新回复(0)