C语言:二维数组与指针

复制代码
a代表二维数组的地址,通过指针运算符可以获取数组中的元素
1.a+n表示第n行的首地址
2.&a[0][0]既可以看作数组0行0列的首地址,同样也可以看作是二维数组的首地址
  &a[m][n]是第m行第n列元素的地址
3.&a[0]是第0行的首地址,&a[n]是第n行的首地址
4.a[n]+n表示第0行第n个元素地址
5.*(*(a+n)+m)表示第n行第m列元素
6.*(a[n]+m)表示第n行第m列元素
7. *(a+n)  a[n]相同含义
复制代码

 

复制代码
设有声明语句“int b[3][3]={1,2,3,4,5,6,7,8,9};”,下面语句中不能输出数组元素b[1][2]的值6的是    D   _。
A.printf("%d",*(*(b+1)+2));     B.printf("%d",*(&b[2][0]-1));
C.printf("%d",*(b[1]+2))
复制代码
#include <stdio.h>
#include <stdlib.h>
main()
{
    int b[3][3]={1,2,3,4,5,6,7,8,9};
    printf("%d\n",*(b+1)[2]) ;
    printf("%d\n",&b[1][1]);
    printf("%d\n",*(*(b+1)+2));
    printf("%d\n",*(&b[2][0]-1));
    printf("%d\n",*(b[1]+2));
    getchar();
 }
复制代码

 

 

;      D.printf("%d",*(b+1)[2]);
复制代码

A b+1 第2行,第三个元素  6

B b[2][0]=7  7-1=6

C b[1]第2行第一个元素,4,4+2=6

 

posted @   myrj  阅读(114)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2021-04-06 C语言:float表示范围
点击右上角即可分享
微信分享提示