亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言中二維數組指針的簡要說明

2020-01-26 14:59:12
字體:
來源:轉載
供稿:網友

C語言中,指針是一個復雜但又靈活多變的知識點,我們知道,在一維數組中,對于一個數組a[],*a,a,&a,都表示a的首地址,但如果與二維數組混合使用,就顯得更為復雜了。例如對于一個二維數組

 a[2][4]={{1,2.3},{4,5,6}} a+i,&a[i],*(a+i),a[i],

這四個表達式到底表示什么呢?

先告訴答案吧,其實這幾個表達式都是指向同一個地址的,也許你會很詫異,也會很疑惑,怎么會是這樣呢??!事實證明就是這樣的,

2015810163408432.jpg (205×93)

C語言中,指針是一個復雜但又靈活多變的知識點,我們知道,在一維數組中,對于一個數組a[],*a,a,&a,都表示a的首地址,但如果與二維數組混合使用,就顯得更為復雜了。例如對于一個二維數組

 a[2][4]={{1,2.3},{4,5,6}} a+i,&a[i],*(a+i),a[i],

這四個表達式到底表示什么呢?

先告訴答案吧,其實這幾個表達式都是指向同一個地址的,也許你會很詫異,也會很疑惑,怎么會是這樣呢?。∈聦嵶C明就是這樣的。

來看一道題目:

char **p,a[6][8]; 問p=a是否會導致程序在以后出現問題?為什么?

直接用程序說明:

#include<stdio.h>void main(){  char **p,a[6][8];  p = a;  printf("/n");}

編譯,然后就會發現通不過,報錯:錯誤 1 error C2440: “=”: 無法從“char [6][8]”轉換為“char **”

于是乎,我看了下《C專家編程》里10.5節―使用指針向函數傳遞一個多維數組。

方法一,函數是 void fun(int arr[2][3]); 這種方法只能處理2行3列的int型數組。

方法二,可以省略第一維的長度。函數是 void fun(int arr[][3]);這種方式雖然限制寬松了一些,但是還是只能處理每行是3個整數長度的數組。

    或者寫成這種形式 void fun(int (*arr)[3]);這是一個數組指針或者叫行指針,arr和*先結合使得arr成為一個指針,這個指針指向具有3個

    int類型數據的數組。

方法三,創建一個一維數組,數組中的元素是指向其他東西的指針,也即二級指針。函數是 int fun(int **arr);這種方法可以動態處理各行各列不一樣長度的數據。

注意:只有把二維數組改成一個指向向量的指針數組的前提下才可以這么做!比如下面的程序可以正常輸出abc:

#include <iostream> using namespace std; void test(char **ptr) {   cout << *ptr << endl; }  int main() {   char *p[3] = {"abc", "def", "ghi"};   test(p);   return 0; }

在《C專家編程》10.3節的小啟發里講的很透徹:(以下這段文字及對比一定要認真分析?。?/p>

數組和指針參數是如何被編譯器修改的?

“數組名被改寫成一個指針參數”規則并不是遞歸定義的。數組的數組會被改寫成“數組的指針”,而不是“指針的指針”:

2015810163503937.jpg (543×184)

下面再看一個網友的一段分析相當給力的代碼:

#include "stdafx.h" #include <iostream> using namespace std;  int _tmain(int argc, _TCHAR* argv[]) {   int arr1[3];   int arr2[3];   int arr3[3];   int * ptr;   // ptr1是一個指向 int [3] 的指針,即ptr的類型和&arr1的類型是一樣的,注意:arr1指向的內存區域定長   int ptr1[3][3]={{1,2,3},{1,2,3},{1,2,3}};   // ptr2是一個指向 int * 的指針,即ptr2的類型和&ptr是一樣的,注意:ptr指向的內存區域不定長   int * ptr2[3]={arr1,arr2,arr3};   // ptr3是一個指向 int [3] 的指針,即ptr3的類型和&arr1的類型是一樣的,注意:arr1指向的內存區域定長   int(* ptr3)[3]=&arr1;   ptr3=ptr1; // 沒錯,他們的類型相同  // ptr3=ptr2;//error 無法從“int *[3]”轉換為“int (*)[3]  // ptr4是一個指向 int * 的指針,即ptr4的類型和&ptr是一樣的,注意:ptr指向的內存區域不定長   int ** ptr4;   //ptr4=&arr1; //error 無法從“int (*)[3]”轉換為“int **   ptr4=ptr2; // 沒錯,他們的類型相同  //ptr4=ptr3; // error 無法從“int (*)[3]”轉換為“int **   return 0; }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人av片在线观看| 国产在线播放不卡| 国产精品直播网红| 亚洲欧洲国产精品| 久久综合伊人77777蜜臀| 日日噜噜噜夜夜爽亚洲精品| 国产精品最新在线观看| 欧美视频13p| 欧美激情精品久久久久久| 欧亚精品在线观看| 欧美精品一区二区三区国产精品| 91精品国产综合久久香蕉最新版| 国产成人久久久| 在线看日韩av| 亚洲成av人影院在线观看| 国产精品欧美风情| 97婷婷涩涩精品一区| 91久久国产综合久久91精品网站| 欧美视频一区二区三区…| 亚洲精品永久免费精品| 亚洲国产欧美日韩精品| 欧美国产日韩在线| 欧美日韩国产一区中文午夜| 亚洲男人天堂2024| 亚洲欧美精品伊人久久| 国产色婷婷国产综合在线理论片a| 一区二区成人精品| 日韩综合视频在线观看| 日韩av在线一区| 国产一区二区三区高清在线观看| 国产aⅴ夜夜欢一区二区三区| 深夜福利亚洲导航| 亚洲新中文字幕| 欧美性视频网站| 欧美激情a在线| 日韩在线视频一区| 国产精品a久久久久久| 国产v综合ⅴ日韩v欧美大片| 综合激情国产一区| 高清欧美性猛交xxxx| 亚洲欧美日本另类| 国产精品6699| 亚洲free性xxxx护士白浆| 国产成人精品一区二区| 国产精品日日做人人爱| 欧美日韩在线视频首页| 97精品在线视频| 欧美性高潮在线| 亚洲成人激情视频| 91国产一区在线| 欧美日韩亚洲一区二区| 欧美激情性做爰免费视频| 日本一区二三区好的精华液| 国产精品亚洲片夜色在线| 日本欧美黄网站| 一区二区三区四区精品| 欧美精品久久久久a| 亚洲bt欧美bt日本bt| 中文字幕欧美日韩va免费视频| 国产精品一区二区av影院萌芽| 欧美电影免费观看高清| 国产精品久久久久影院日本| 日韩av理论片| 黄色成人在线免费| 成人免费午夜电影| 一区二区三区精品99久久| 国产在线a不卡| 亚洲精品美女久久久| 亚洲欧美日韩天堂一区二区| 亚洲成人av在线| 亚洲福利视频网站| 精品福利在线观看| 国产精品一区二区三区在线播放| 亚洲欧美日韩一区在线| 自拍偷拍亚洲精品| 日韩在线观看电影| 中文字幕日韩有码| 欧美日韩国产一中文字不卡| 欧美激情成人在线视频| 国产精品久久久久久超碰| 欧美性xxxx极品高清hd直播| 国产91av在线| 91av视频导航| 亚洲福利影片在线| 911国产网站尤物在线观看| 日韩在线视频免费观看| 亚洲欧美日韩精品久久| 成人免费视频网址| 日韩精品中文字幕有码专区| 97国产在线观看| 欧美激情第6页| 57pao成人永久免费视频| 国产精品xxxxx| 精品中文视频在线| 亚洲成人激情视频| 国产精品99久久久久久www| 国产精品成人一区二区| 欧洲s码亚洲m码精品一区| 亚洲综合日韩中文字幕v在线| 国产香蕉97碰碰久久人人| 日韩精品视频免费| 国产狼人综合免费视频| 日韩中文字幕国产| 久久99久国产精品黄毛片入口| 国产精品一区二区三区免费视频| 精品视频—区二区三区免费| 国产日韩欧美影视| 一区二区欧美亚洲| 国产国语videosex另类| 亚洲精品456在线播放狼人| 日韩精品免费视频| 成人有码在线视频| 欧美日韩加勒比精品一区| 国产视频精品自拍| 亚洲美女福利视频网站| 91中文字幕在线| 一区二区三区四区视频| 69国产精品成人在线播放| 亚洲一区二区三区成人在线视频精品| 高跟丝袜一区二区三区| 欧美大片第1页| 欧美性xxxxxx| 久久亚洲精品一区| 色青青草原桃花久久综合| 日韩av大片免费看| 性欧美xxxx交| 日韩av日韩在线观看| 国产一区二区三区在线观看网站| 69av在线播放| 国产美女高潮久久白浆| 欧美又大粗又爽又黄大片视频| 九九九久久国产免费| 亚洲永久免费观看| 欧美黄色小视频| 欧美一区二粉嫩精品国产一线天| 国产精品99久久久久久久久| 97视频在线观看网址| 亚洲国产精品va在看黑人| 欧美疯狂性受xxxxx另类| 日韩av网址在线| 亚洲第一网站免费视频| 亚洲国语精品自产拍在线观看| 欧美激情精品久久久久久黑人| 国产91成人在在线播放| 久久久久这里只有精品| 国产精品18久久久久久首页狼| 91在线高清视频| 九九热99久久久国产盗摄| 日韩免费精品视频| 久久久久久久91| 97国产成人精品视频| 欧美激情视频一区二区三区不卡| 一个人看的www久久| 成人乱人伦精品视频在线观看| 国模吧一区二区三区| 日韩黄在线观看| 亚洲一区二区三区久久| 亚洲天堂av综合网| 97超视频免费观看| 国内精品一区二区三区| 亚洲午夜小视频| 欧美视频在线看| 亚洲二区中文字幕| 欧美日韩在线一区|