二維數組的地址表示方式 如數組:int a[3][3] = {1,3,5,7,9,11,13,15,17}; 等價于:int a[3][3] = {{1,3,5},{7,9,11},{13,15,17}} 注意: 每一行都對應一個行地址,二維數組的地址就是第一行地址 二維數組名字本來就是地址即: 行地址: a是第一行地址 a+1是第二行地址 a+2是第三行地址 列地址: a[0]+0第一列地址 a[0]+1第二列的地址 a[0]+2第三列的地址
具體項目地址如: a[1][2]的地址:為以下三種表示方式 1. a[1]+2; 2. *(a+1)+2 3. &a[1][2] a[1][2]里面的值:為一下三種表示方式 4. *(a[1]+2) 5. ((a+1)+2) 6. a[1][2]
a[]或(a+1)//行地址a[]+i //行地址加列地址Test代碼如下所示:
#include<stdio.h>int main(void){ int nums[3][3] = {1,3,5,7,9,11,13,15,17}; /**第一行地址*/ 二維數組的指針遍歷方式: 1:下表發去遍歷二維數組 2;列地址去遍歷: 根據二維數組在內存中按行去連續分配內存空間的,所以可以通過列指針去遍歷二維數組;對于二維數組來說; *a就是第一行第一列的地址*(a+0)+0;代碼能夠run,如果有需要的話,可以直接拉下來run一下,看看結構體數組是怎么進行初始化操作和使用的。謝謝大家的訪問,如有寫的不好的地方,希望大家能夠及時的提出來,謝謝觀看
新聞熱點
疑難解答