- C言語なら俺に聞け 138 [無断転載禁止]©2ch.net
14 :片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK77-sH8c)[sage]:2016/12/13(火) 19:49:47.08 ID:AlD2ABgfK - constを付ける
const char *hage="abc"; return hage;
|
- C言語なら俺に聞け 138 [無断転載禁止]©2ch.net
21 :片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK77-sH8c)[sage]:2016/12/13(火) 22:24:10.67 ID:AlD2ABgfK - 自分でやるのをあきらめる人が居るから、技術料の要求が許される。
そうした技術は誰もができる訳ではない。
|
- C言語なら俺に聞け 138 [無断転載禁止]©2ch.net
23 :片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK07-sH8c)[sage]:2016/12/13(火) 23:05:12.14 ID:AlD2ABgfK - >>22
うるせえ雑魚。これはポインタだから静的に確保しても変わらない。 無駄にconst付けすぎ。
|
- C言語なら俺に聞け 138 [無断転載禁止]©2ch.net
24 :片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK07-sH8c)[sage]:2016/12/13(火) 23:07:31.79 ID:AlD2ABgfK - 訂正。「無駄にconst付けすぎ。」をケス。
|
- C言語なら俺に聞け 138 [無断転載禁止]©2ch.net
26 :片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK77-sH8c)[sage]:2016/12/13(火) 23:17:48.20 ID:AlD2ABgfK - const char *ret = "some string";
このコードは「some string」という文字列をヌル終端で読み込みのみのメモリーに格納し、そのメモリーの先頭アドレスをretにセットする。 古い規格ではconstは必要なかったが、読み込み専用で書き込みできない(read-only)なので、新しい規格ではconstが必要。
|
- C言語なら俺に聞け 138 [無断転載禁止]©2ch.net
27 :片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK77-sH8c)[sage]:2016/12/13(火) 23:22:12.21 ID:AlD2ABgfK - 配列にした場合、const char ret[] = "some string";
となって文字列はスタックに確保される。この場合constを付けなければ、書き込み可能になる。 スタックメモリーを戻り値として返すのはまずいので、このような配列を返す場合はstaticを付けなければならない。
|