基本情報技術者試験掲示板


[3444] H29秋期C言語

 ポインタわからないさん(No.1) 
find_char(ith+1,*ith)とありますが、なぜith+1でそれ以降の文字列を全て表せるのでしょうか?
単純にith+1はithの次の文字へのポインタでしかないのでは?
2021.06.23 17:49
関数従属さん(No.2) 
FE・ゴールドエキスパート
配列の場合は連続でメモリ領域がとられます。
find_palindrome内でのポインタithとtext配列は以下のように対応しております。

ith    text[i]
ith+1  text[i+1]
ith+2  text[i+2]
・・・・

ith+1自体はtext[i+1]を指すポインタとなりますが、
find_char内でstrとして渡されたポインタは

ith+1  str[0]
ith+2  str[1]
・・・・

のように対応していき
行番号49〜53のforループ内でそれ以降の文字列が検索できます。
2021.06.24 23:45

返信投稿用フォーム

スパム防止のために初投稿日から30日経過したスレッドへの書き込みは禁止しています。

© 2010-2022 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop