C言語なら俺に聞け 163 (987レス)
前次1-
抽出解除 レス栞

207
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ f732-vU+L) [sage] 2024/09/16(月) 22:43:01.97 ID:JwEVxA0h0(6/6) AAS
>>203
203(1): デフォルトの名無しさん (アウアウエー Sadf-N1Zj) [] 2024/09/16(月) 21:32:46.16 ID:NNTpe0yPa(1) AAS
>>187
たしかに関数の引数だと違うんだな
外部リンク:ideone.com
#include <stdio.h>

char *hoge(char fuga[10])
{
++fuga;
return fuga;
}

int main(void) {
char hage[10] = {0};
char *p = hoge(hage);
printf("%p, %p\n", hage, p);
return 0;
}

// もちろん ++hage は出来ない
外部リンク:ideone.com
余談だけど配列だけじゃなくて関数型も関数ポインタ型に調整されるよ。
224
(1): デフォルトの名無しさん (ワッチョイ d712-IGT5) [sage] 2024/09/18(水) 05:59:54.60 ID:Y3+kk9yU0(1) AAS
>>222
222(8): デフォルトの名無しさん (ワッチョイ d7cd-qbvN) [sage] 2024/09/18(水) 00:42:28.78 ID:wcwImUMc0(1/3) AAS
>>217
この場合に限らずcでは範囲チェックなどされないでしょ
必要なら自分でチェックするのが原則

void aaa(char hage[10],int idx)
{
if((UINT)idx < sizeof(hage)/sizeof(hage[0]))
printf("%d=%d¥n",idx,hage[idx]);
else
printf("%dは範囲外だhage¥n",idx);
}

これなら[10]に意味が出る

c faq 6.21 (英文が詳しい)
外部リンク[html]:c-faq.com
>>207 の'調整'は'adjust'だろう
N1256を'adjust'で検索するのじゃ
Look, a new day has begun.
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s