歌詞專案第一天 複習陣列指標

2021-10-03 18:05:37 字數 2192 閱讀 2705

複習:陣列指標

1、二維陣列

二維陣列,有行,有列。二維陣列可以看成有多個一維陣列構成的,是多個一維陣列的集合,可以認為二維陣列的每乙個元素是個一維陣列。

例:

int a[3]

[5];

定義了乙個3行5列的乙個二維陣列。

可以認為二維陣列a由3個一維陣列構成,每個元素是乙個一維陣列。

回顧:陣列的名字是陣列的首位址,是第0個元素的位址,是個常量,陣列名字加1指向下個元素

#include

intmain

(int argc,

char

*ar**)

2、陣列指標的概念:

本身是個指標,指向乙個陣列,加1跳乙個陣列,即指向下個陣列。

3、陣列指標的定義方法:

指向的陣列的型別(*指標變數名)[指向的陣列的元素個數]

int (*p)[5];//定義了乙個陣列指標變數p,p指向的是整型的有5個元素的陣列

p+1 往下指5個整型,跳過乙個有5個整型元素的陣列。

例15:

#include

intmain()

例16:陣列指標的用法1

#include

void

fun(

int(

*p)[5]

,int x,

int y)

intmain()

printf

("\n");

}}

4、各種陣列指標的定義:

(1)、一維陣列指標,加1後指向下個一維陣列

int(*p)[5] ;

配合每行有5個int型元素的二維陣列來用

int a[3][5]

int b[4][5]

int c[5][5]

int d[6][5]

……p=a;

p=b;

p=c;

p=d;

都是可以的~~~~

(2)、二維陣列指標,加1後指向下個二維陣列

int(*p)[4][5];

配合三維陣列來用,三維陣列中由若干個4行5列二維陣列構成

int a[3][4][5];

int b[4][4][5];

int c[5][4][5];

int d[6][4][5];

這些三維陣列,有個共同的特點,都是有若干個4行5的二維陣列構成。

p=a;

p=b;

p=c;

p=d;

例17:

#include

intmain()

5、三維陣列指標,加1後指向下個三維陣列

int(*p)[4][5][6];

p+1跳乙個三維陣列;

什麼樣的三維陣列啊?

由4個5行6列的二維陣列構成的三維陣列

配合:int a[7][4][5][6];

6、四維陣列指標,加1後指向下個四維陣列,以此類推。。。。

7、注意:

容易混淆的內容:

指標陣列:是個陣列,有若干個相同型別的指標構成的集合

int *p[10];

陣列p有10個int *型別的指標變數構成,分別是p[0] ~p[9]

陣列指標:本身是個指標,指向乙個陣列,加1跳乙個陣列

int (*p)[10];

p是個指標,p是個陣列指標,p加1指向下個陣列,跳10個整形。

指標的指標:

int **p;//p是指標的指標

int *q;

p=&q;

&a就變成了乙個一維陣列指標,是 int(*p)[10]型別的。

(&a) +1 和&a相差乙個陣列即10個元素即40個位元組。

例18:

#include

intmain()

a是個int *型別的指標,是a[0]的位址。

&a 變成了陣列指標,加1跳乙個10個元素的整型一維陣列

例19:

int  a[4]

[5];

a+1 跳5個整型

(&a)+1 跳4行5列(80個位元組)。

mysql複習第一天

匹配任意單個字元 模版資料 查詢first name第二個字元為t的資料 select first name from table where first name like t 指定某個符號為轉義符 查詢first name第二個字元為 的資料 select first name from tab...

Spring 複習第一天

一 sping的優點 1 方便解耦,簡化開發 spring就是乙個大工廠,可以將所有物件建立和依賴關係維護,交給spring管理。2 aop程式設計的支援 spring提供面向切面程式設計,可以方便的實現對程式進行許可權攔截,執行監控等功能。3 宣告式事務的支援 只需要通過配置就可以完成對事物的管理...

網工複習第一天

今天做測試題,有關程序排程的。記錄一下 程序排程可以使用ps和top命令來檢視。1.ps命令 ps命令各我們可以用ps help來檢視引數。引數有的需要加 有的也不需要加。這裡說一下幾個常用的引數。u是用於顯示更加詳細的資訊 x是用於顯示沒有控制台的程序以及後台程序 a是用於顯示系統中所有使用者的程...