C++ 指向數(shù)組的指針
C++ 指向數(shù)組的指針
如果您對(duì) C++ 指針的概念有所了解,那么就可以開(kāi)始本章的學(xué)習(xí)。數(shù)組名是一個(gè)指向數(shù)組中第一個(gè)元素的常量指針。因此,在下面的聲明中:
double balance[50];
balance 是一個(gè)指向 &balance[0] 的指針,即數(shù)組 balance 的第一個(gè)元素的地址。因此,下面的程序片段把 p 賦值為 balance 的第一個(gè)元素的地址:
double *p; double balance[10]; p = balance;
使用數(shù)組名作為常量指針是合法的,反之亦然。因此,*(balance + 4) 是一種訪問(wèn) balance[4] 數(shù)據(jù)的合法方式。
一旦您把第一個(gè)元素的地址存儲(chǔ)在 p 中,您就可以使用 *p、*(p+1)、*(p+2) 等來(lái)訪問(wèn)數(shù)組元素。下面的實(shí)例演示了上面討論到的這些概念:
#include <iostream> using namespace std; int main () { // 帶有 5 個(gè)元素的整型數(shù)組 double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0}; double *p; p = balance; // 輸出數(shù)組中每個(gè)元素的值 cout << "使用指針的數(shù)組值 " << endl; for ( int i = 0; i < 5; i++ ) { cout << "*(p + " << i << ") : "; cout << *(p + i) << endl; } cout << "使用 balance 作為地址的數(shù)組值 " << endl; for ( int i = 0; i < 5; i++ ) { cout << "*(balance + " << i << ") : "; cout << *(balance + i) << endl; } return 0; } #include <stdio.h> int main () { /* 帶有 5 個(gè)元素的整型數(shù)組 */ double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0}; double *p; int i; p = balance; /* 輸出數(shù)組中每個(gè)元素的值 */ printf( "使用指針的數(shù)組值\n"); for ( i = 0; i < 5; i++ ) { printf("*(p + %d) : %f\n", i, *(p + i) ); } printf( "使用 balance 作為地址的數(shù)組值\n"); for ( i = 0; i < 5; i++ ) { printf("*(balance + %d) : %f\n", i, *(balance + i) ); } return 0; }
當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:
使用指針的數(shù)組值 *(p + 0) : 1000 *(p + 1) : 2 *(p + 2) : 3.4 *(p + 3) : 17 *(p + 4) : 50 使用 balance 作為地址的數(shù)組值 *(balance + 0) : 1000 *(balance + 1) : 2 *(balance + 2) : 3.4 *(balance + 3) : 17 *(balance + 4) : 50
在上面的實(shí)例中,p 是一個(gè)指向 double 型的指針,這意味著它可以存儲(chǔ)一個(gè) double 類型的變量。一旦我們有了 p 中的地址,*p 將給出存儲(chǔ)在 p 中相應(yīng)地址的值,正如上面實(shí)例中所演示的。
相關(guān)文章
- C++ 常量
- C++ 運(yùn)算符
- C++ 循環(huán)
- C++ 函數(shù)
- C++ 字符串
- C++ 異常處理
- C語(yǔ)言 字符串
- C語(yǔ)言 遞歸
- C語(yǔ)言 標(biāo)準(zhǔn)庫(kù) <locale.h>
- C語(yǔ)言 標(biāo)準(zhǔn)庫(kù) <setjmp.h>
- C語(yǔ)言 標(biāo)準(zhǔn)庫(kù) <stddef.h>
- C# 基本語(yǔ)法
- C# 判斷語(yǔ)句
- C# 封裝
- C# 類 Class
- C++ 指向數(shù)組的指針
- C++ 從函數(shù)返回?cái)?shù)組
- C++ 關(guān)系運(yùn)算符重載
- C++ 下標(biāo)運(yùn)算符 [] 重載
- C語(yǔ)言 庫(kù)函數(shù) mktime()