陣列引用與陣列的一些小小小小研究

2021-07-11 19:49:03 字數 621 閱讀 4241

首先看這麼一段程式:

#include

using

namespace

std;

void test(char a[20]);

char b;

cout

<<<1204

4

可以看到乙個字元型別佔1個位元組,字元陣列佔陣列長度*單個型別所佔位元組,而作為引數時,位元組數為4,與int相同。這裡傳遞的是a[20]陣列的首位址,即a[0]的位址。因此,』text(char a[20])』可以認為是』text(char *a)』也可以是』text(char a[999])』。

這樣,在以陣列為引數進行傳遞時,函式』a[20]』可以說是無意義的。在某些情況下可能導致錯誤。可以使用陣列引用來幫助實現。』text(char (&a)[20])』,若傳入陣列為』a[8]』,將報錯。

char (&a)[20];//

char &b[20];//

char *c[20];//an array of 20 pointers

char (*d)[20];// a pointer to an array of 20 elements

辨別起來挺有意思的

一些小小體會。。。

接觸sap 與 abap 已經有8個多月了 從當初什麼都不懂的小菜鳥,到如今,可以算是努力擺脫初級,在公升級前的掙扎,最後一段的衝刺。可笑的是,即使擺脫了初級,不再被稱為是菜鳥,離老鳥的尊稱還有很長一段距離。目前為止,浪費了不少時間,在abap 的學習上雖然刻苦認真許多,但是在sap 的相關模組業務...

棧的一些小小應用

昨天剛實現了棧的一些基本操作,今天就來實現一點棧的應用把!首先,寫一點比較簡單的 1.逆波蘭表示式的計算。在通常的表示式中,二元運算子總是置於與之相關的兩個運算物件之間,這種表示法也稱為中綴表示。逆波蘭表示式也稱為字尾表示式。比如 現在通過乙個程式去計算乙個簡單的字尾表示式 pragma once ...

關於for迴圈的一些小小理解

for 迴圈的語法是 for expr1 expr2 expr3 statement expr1 第乙個表示式 expr1 在迴圈開始前無條件求值 並執行 一次。expr2 第二個表示式在每次迴圈開始前求值。如果值為true,則繼續迴圈,執行巢狀的迴圈語句。如果值為false,則終止迴圈。expr3...