-1

数値ポインタと文字ポインタを使用して、同様に型指定されたポインタを加算および減算するいくつかの例をお願いします。Cを使用します。

ありがとう。

4

2 に答える 2

1

これをチェックして、ポインター演算について知ることができます

于 2009-12-25T03:18:49.050 に答える
1

C 文字列から 1 文字を抽出する実用的な例を次に示します。

char charAt( char *str, size_t idx) {
    if (idx > strlen (str))
        return '\0';
    return *(str+idx);
}

または、配列内の整数をその直前の整数と交換します (範囲チェックなし):

void swapInts( int *base, size_t idx) {
    tmp = *(base+idx);
    *(base+idx) = *(base+idx-1);
    *(base+idx-1) = tmp;
}

どちらの場合も、配列オフセットの代わりにポインター演算を使用*(pointer+offset)すること以外は同じです。pointer[offfset]

*(str+idx)        ->     str[idx]
*(base+idx)       ->     base[idx]
*(base+idx-1]     ->     base[idx-1]

警告:これらをそのまま宿題に使用しないでください。よく考えてから、自分で書いてください。それらを逐語的にコピーすると、教育者も間違いなくこれらのサイトも見ているため、ほぼ確実に失敗します.

于 2009-12-25T03:45:37.597 に答える