私は K&R 第 2 版、第 5 章に取り組んでいます。
87 ページで、文字配列へのポインターが次のように紹介されています。
char *pmessage;
pmessage = "Now is the time";
pmessage
それが単一の文字へのポインタではなく、文字配列へのポインタであることをどうやって知るのでしょうか?
拡張するには、94 ページで、次の関数が定義されています。
/* month_name: return the name of the n-th month */
char *month_name(int n)
{
static char *name[] = {
"Illegal month",
"January", "February", "March",
...
};
return (n < 1 || n > 12) ? name[0] : name[n];
}
上記の関数宣言が単に提供された場合、単一の文字または文字配列が返されるかどうかをどのように知ることができますか?
from の戻り値month_name()
が文字配列であると想定し、a が検出されるまでそれを繰り返したNULL
としても、戻り値が実際には 1 文字だった場合、セグメンテーション違反の可能性はありませんか?
誰かが、単一文字と文字配列へのポインターの宣言と割り当て、関数での使用法、および返された識別を示してもらえますか?