为什么C语言中*(a+i)+j能表示a[i][j]的地址
3个回答
TableDI
2024-07-18 广告
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配...
点击进入详情页
本回答由TableDI提供
展开全部
a是一个指针,a+i表示a所指位置的下i个内存区,a+j同理。
这个程序的功能是:
交换
a+i
和
a+j
所指内存区的内容,t是中间变量。
就好像你要交换两瓶饮料,一瓶汽水,一瓶果汁,交换它们,要找一个空瓶子,这里,t就是空瓶子
a+i
和
a+j
就是你要交换的两瓶饮料,一共要倒三次,你懂了吧!
这个程序的功能是:
交换
a+i
和
a+j
所指内存区的内容,t是中间变量。
就好像你要交换两瓶饮料,一瓶汽水,一瓶果汁,交换它们,要找一个空瓶子,这里,t就是空瓶子
a+i
和
a+j
就是你要交换的两瓶饮料,一共要倒三次,你懂了吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int
a[2][3]={10,20,30,40,50,60};
printf("%d
",*(*(a+1)+2));
以上的引用能够输出60
因为a是二维数组名,所以它是指向指针的指针(二级指针)。
*(a+1)就是a[1],它是一个一维数组,也是一维数组的首地址(指向一维数组首元素的指针)。*(a+1)+2就是a[1][2]的地址,*(*(a+1)+2)就是a[1][2]。
a[2][3]={10,20,30,40,50,60};
printf("%d
",*(*(a+1)+2));
以上的引用能够输出60
因为a是二维数组名,所以它是指向指针的指针(二级指针)。
*(a+1)就是a[1],它是一个一维数组,也是一维数组的首地址(指向一维数组首元素的指针)。*(a+1)+2就是a[1][2]的地址,*(*(a+1)+2)就是a[1][2]。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询