使用陣列作為函式的引數,在c++之函式體那裡已經講了通過普通的方法將陣列作為引數,引入到函式中。這裡介紹使用指標的方法將陣列作為引數
單個的數需要加&表示指標變數儲存的是變數位址特別強調:指標一定慎用(*ptr_num)++,會改變指標所指向數的數值,使用指標最好配合const禁止數值被修改!!!
#include
#include
"class1demo.hpp"
using
namespace std;
//宣告函式
void
sum2
(int*,
int*);
intmain()
//定義函式
void
sum2
(int
* ptr_num1,
int* ptr_num2)
//程式輸出
30
process returned 0
(0x0
) execution time :
0.160 s
press any key to continue
.
指標指向陣列是,不用加&,預設指向陣列第乙個元素//1、標頭檔案constdemo.h
#ifndef constdemo_h_included
#define constdemo_h_included
#include
using
namespace std;
#endif
// constdemo_h_included
void
show_ptr
(int*,
int)
;//宣告函式,陣列指標,第二個元素作為陣列長度
void
show_ptr
(int
* value_ptr,
int len)
//定義函式體
}
//2、主檔案main.cpp
#include
#include
#include
"headdemo.h"
#include
"constdemo.h"
//引入上面標頭檔案,用過雙引號引用
using
namespace std;
intmain()
;int len =
sizeof
(values)
/sizeof
(int);
//陣列長度
show_ptr
(values,len)
;return0;
}
//程式輸出
123
45process returned 0
(0x0
) execution time :
0.063 s
press any key to continue
.
#ifndef constdemo_h_included
#define constdemo_h_included
#include
using
namespace std;
#endif
// constdemo_h_included
//方法二
void
show_ptr2
(int*,
int*);
//宣告函式
void
show_ptr2
(int
* value_ptr_start,
int* value_ptr_end)
//定義函式,傳入的形參為指標
}
//2、主檔案main.cpp
#include
#include
#include
"headdemo.h"
#include
"constdemo.h"
//引入上面標頭檔案,用過雙引號引用
using
namespace std;
intmain()
;int len =
sizeof
(values)
/sizeof
(int);
//show_ptr(values,len);
show_ptr2
(values, values + len -1)
;//穿入首指標和尾指標
return0;
}
//程式輸出
123
45process returned 0
(0x0
) execution time :
0.167 s
press any key to continue
.
#ifndef constdemo_h_included
#define constdemo_h_included
#include
using
namespace std;
#endif
// constdemo_h_included
void
show_ptr2
(int*,
int)
;//宣告二維陣列函式
void
show_ptr2
(int
(*value_ptr)[4
],int len)
//定義二維陣列函式,這裡傳入的指標維數要進行改變
cout << endl;
}}
//2、主檔案main.cpp
#include
#include
#include
"headdemo.h"
#include
"constdemo.h"
//引入上面標頭檔案,用過雙引號引用
using
namespace std;
intmain()
//程式輸出
131264
13645600
0000
0000
process returned 0
(0x0
) execution time :
0.102 s
press any key to continue
.
通過指標引用虛函式
下面這個例子從多個角度來找到虛函式的指標,並對其進行呼叫 方法一 定義乙個物件找到物件中存放的虛函式所在表的頭指標,並將其第乙個指標作為我們呼叫的函式指標 方法二 直接通過二級指標找到函式指標 include include cout hex include setw using namespace...
通過指標引用陣列
為了說清楚什麼是指標,必須先弄清楚資料在記憶體中是如何儲存的,又是如何讀取的。如果在程式中定義了乙個變數,在對程式進行編譯時,系統就會給這個變數分配記憶體單元。編譯系統根據程式中定義的變數型別,分配一定長度的空間。例如,visual c 為整型變數分配4個位元組,對單精度浮點型變數分配4個位元組。記...
c 函式指標引用問題
定義了乙個名字叫p的函式,它接收兩個int型別的引數和乙個指向int的指標 位址 引數,並返回乙個int引數 定義了乙個名字為p的指標 位址 它所指向的函式名字可以用 p表示,該函式接收兩個int型別的引數和乙個指向int的指標 位址 引數,並返回乙個int引數。此為指向int的指標 定義了乙個名字...