今回ポインタについてわからないことがあったので質問しました。
環境はBorland bcc5.5 OSはXPになります。
以下自分で作成した文字列を小文字にするサンプルです。
#include <stdio.h>
void StrToSmall(const char *conversionStr, char *convertedStr)
{
while (*conversionStr) {
*(convertedStr++) = tolower(*conversionStr++);
}
*convertedStr = '\0';
}
int main(void)
{
char conversionStr[/url] = "HElloWORld"; // 元の文字列
char convertedStr[256]; // 変換後の文字列をセット
StrToSmall(conversionStr, convertedStr);
printf("変換前 : %s\n", conversionStr);
printf("変換後 : %s\n", convertedStr);
return 0;
}
このStrToSmall関数の以下の行なのですが、
*(convertedStr++) = tolower(*conversionStr++);これはconversionStrの内容を小文字に変換してconvertedStrに格納した後conversionStrのアドレスを進めているという解釈で大丈夫でしょうか?
あともう一点あるのですが、関数内でconversion, StrconvertedStrの内容を確認出来ないのはなぜでしょうか?
printf文で確認してもnullが入っているのに、main側ではちゃんと内容が確認出来るのが不思議です。
ポインタをよく理解せずに使っているのでこの機会にしっかり押さえたいと思います。
しょうもない質問で申し訳ないですがよろしくお願いします。
