應用的編輯器為vs2010
一、指標
1、指標陣列與陣列指標
宣告方式:
int *a[10]; // 指標陣列 陣列中的元素均為指標變數
int (*a)[10]; // 陣列指標 指向長度為10的一維陣列的指標
2、指標所存位址的顯示
3、指向指標的指標
int * *pa ; // 這裡的pa就是指向指標資料的指標變數 ,它可以指向指標變數,也就是存放指標變數的位址
例程1.1
#include "iostream"
#include"dos.h"
#include
using namespace std;
void main()
}int* p1 = & arraytwo[0][0]; //獲取二維陣列的首位址
for (int i=0;i<12;i++)
arrayone[i]=p1[i];
cout《三、把一維陣列或二維陣列傳遞給函式
2.1二維陣列用陣列形參呼叫一維陣列
void fun1(const int a,int arraysize); //函式的宣告
int pt[10]; //陣列的宣告及初始化
for(int i=0;i<10;i++)
pt[i]=i+1;
fun1(pt,arraysize); //函式的呼叫
void fun1(const int a,int arraysize) //函式的定義
2.2二維陣列用陣列形參呼叫二維陣列
void fun1(const int a[5],int num1); //函式的宣告
int a[4][5]; //陣列的宣告及初始化
for (int i=0;i<4;i++)
}int arraysize=4;
fun1(a,arraysize); //函式的呼叫
void fun1(const int a[5],int num1) //函式的定義
四、動態陣列的應用
3.1 一維動態陣列
實質:建立乙個陣列指標 指向乙個長度為arraysize的陣列
宣告長度變數
定義指標型別 宣告指標變數
呼叫new操作符建立乙個動態陣列
和普通陣列一樣使用
呼叫delete 銷毀
int arraysize; //宣告長度變數
int *pt = new int[ arraysize]; //也可以分成三部來做 typedef int* intarrayptr;intarrayptr pt; pt = new int[ arraysize];
delete pt;
3.2 二維動態陣列
實質:建立乙個指向指標的指標 指向乙個長度為a的指標陣列 指標陣列的每乙個指標都指向乙個長度為b的陣列
//建立乙個指向指標的指標 指向乙個長度為a,裝著指向長度為b的陣列的陣列指標的指標陣列。
static int d1,d2; //宣告二維陣列長度變數
int *(*pt) = new int *[d1]; //定義指標型別 宣告指標變數 呼叫new操作符建立動態二維陣列
for(int i=0;i例程3.1
// 一維動態陣列的建立及使用
// 通過陣列形參來傳遞陣列的函式
// 用 const 定義陣列形參後,函式不能改變原函式
void fun1(const int a,int num1);
void fun2( int a,int num1);
void main()
a=2;
b=3;
pt=&a;
pt=&b; //可以改變指標變數的指標值
//cout<<*pt<
二維陣列作為形參
以下是網上摘抄的一段 首先,我引用了譚浩強先生編著的 c程式設計 上面的一節原文,它簡要介紹了如何將二維陣列作為引數傳遞,原文如下 略有改變,請原諒 原文開始 可以用二維陣列名作為實參或者形參,在被呼叫函式中對形引數組定義時可以指定所有維數的大小,也可以省略第一維的大 明,如 void func i...
二維陣列做形參
來看 c primer 中給出的方法 cpp view plain copy void func1 intiarray 10 intmain 編譯通過,注意形參宣告一定要給出第二個維度的大小,要不編譯不過。cpp view plain copy void func2 int parray 10 vo...
二維陣列做形參
可以用二維陣列名作為實參或者形參,在被呼叫函式中對形引數組定義時可以可以指 定所有維數的大小,也可以省略第一維的大 明,如 void func int array 3 10 void func int array 10 二者都是合法而且等價,但是不能把第二維或者更高維的大小省略,如下面的定義是 不合...