next up previous contents
Next: 18.4 課題 18 Up: 18. 配列 II Previous: 18.2 配列とポインタ

18.3 ポインタを配列として使う

前の節で、配列は定数的な扱いをしたポインタみたいなもの である事について解説したが、 それではポインタは配列として見ればどうなるかと言うと、実は、ポインタは 完全に配列として扱って良い。例えば次の例を見てみよう。

例5 ポインタを配列として使う

main(){ 
    char *s = "array";
    char *p; int i;
    for(i=0; *(s+i)!='\0'; i++ ){
        cout << *(s+i);
    }
    cout << endl;
    for(i=0; s[i]!='\0'; i++){
        cout << s[i];
    }
    cout << endl;
}

最初の for 文で行っている事と、次の for 文で行っている 事はほぼ同じである。実際、先に説明したように、s[i] は常に *(s+i) に等しいのであるから、全く同じ内容を違ったように書いている だけであり、唯一の違いは s がポインタであって、配列名ではない という点だけである。



Noriyo Kanayama