エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
【トリッキーなコード】配列の添字演算子[]をトリッキーに扱う裏技 (C言語)
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
【トリッキーなコード】配列の添字演算子[]をトリッキーに扱う裏技 (C言語)
1 : #include <stdio.h> 2 : 3 : int main(void) 4 : { 5 : char * p = "ABCDEF"; 6 : 7 : printf("%c\n... 1 : #include <stdio.h> 2 : 3 : int main(void) 4 : { 5 : char * p = "ABCDEF"; 6 : 7 : printf("%c\n", 3["abcdef"]); 8 : printf("%c\n", 2[p]); 9 : puts(&1[p]); 10 : 11 : return 0; 12 : } なんじゃこりゃ?!こんなコード動くのか?? と思わず唸ってしまいそうですが、 実はこのコード、正常に動作します^^;) 実行結果) それでは説明に移ります。 Cコンパイラでは、配列arrと添字iに対して、arr[i] は *((arr) + (i)) として解釈 されます。 従って配列の添字演算子[]の二つのオペランドは交換可能 であり、 arr[i]と書いても i[arr]と書いても同じ意味になります。 ・・・たった3行の説明