2つの別個の識別子は、その全長に関係なく最初の31文字が異なる必要があります。Cの識別子(31文字)の長さにはどのような制限がありますか?Cの識別子の長さの制限
答えて
この制限は、コンパイラーが変数名に32文字(31 +ヌルターミネーター)を安全に割り当てることができるように内部簿記を簡単にするためです(別の用紙形式では姓の長さに制限があります) 。正確な制限は任意であり、メモリのために十分小さく、プログラマにとっては十分に大きい。
また、一部のシステムではリンクがCコンパイラシステムとは別の手順であり、C言語で記述されていないオブジェクトファイルがリンクされている可能性があるためです。これらは識別子の長さに制限があります。
更新:異なる言語で書かれたいくつかの部分からなる1つのプログラムを作ることができます(例えば、関数が既にFortranで書かれ、メインのCコードから呼び出されている可能性があります)。他の言語では、可変長に異なる制限が課される可能性があります(人工的な例:abcdef
とabcdef1
が同じ機能をFortranコードで参照すると考えられる場合は、Cコードで同じにする必要があります)。姓の例を使ったイラスト:地方自治体は長さの長い言語やローカル言語を処理することができるかもしれませんが、連邦当局の要件はより厳しいかもしれません。
あなたは答えを理解していただきありがとうございます。あなたは識別子の長さに力を制限する方法を詳しく教えてください。 – manasBVSS
それはポストを編集したマルコム・マクリーンの追加でした。私は答えを更新しました。 –
- 1. 識別子の制限?
- 2. Bash PATHの長さ制限
- 3. 制限式の長さ
- 4. C++ Warning--識別子「}」
- 5. DB2 LIKE演算子で奇妙な長さの制限
- 6. ASP.NetのコントロールのIDの長さ制限
- 7. PostgreSQLのプライマリキーの長さの制限
- 8. pythonのサブプロセスの長さの制限
- 9. GmailのHTMLの長さの制限
- 10. ODataのURLの長さの制限
- 11. TSQL:パラメータとしてキャストされた識別子の識別子
- 12. Cでのコンソール入力の長さを制限する:
- 13. Cの識別子の接頭辞@
- 14. xpバッチファイルの行の長さ制限?
- 15. Ajax文字列の長さの制限?
- 16. 電話番号の長さの制限
- 17. jquery tablesorterフィルタの長さの制限
- 18. ソース行の長さの制限
- 19. xargsコマンドの長さの制限
- 20. 余分なリーフなしでリーフのキー識別子を制限する
- 21. 識別子が「i」はC++
- 22. C++ Declareコンボボックス識別子
- 23. C++ - 文字列の長さを制限する
- 24. Objective-c iPhone NSTimerのユニークな識別子
- 25. SMS 120文字の長さ制限
- 26. Javaの長さ無制限AudioInputStream
- 27. テレグラフapiクエリの長さ制限
- 28. 制限WooCommerce製品の説明長さ
- 29. Pythonリストの長さを制限する
- 30. Rails 3.2 URLの長さに制限
標準では、現在のアーキテクチャで最小限の共通分母を確保するために、実装には[下限](http://port70.net/~nsz/c/c11/n1570.html#5.2.4.1)のみを置きます。しかし、可能であれば(http://port70.net/~nsz/c/c11/n1570.html#note18)実装をはるかに上回るように[推奨します]。 – StoryTeller
あなたは研究のための公式文書をよく読んでください。 – roottraveller
C99より前の要件はわずか6文字でした。それは楽しい時間のために最小要件を超えていないリンカとの作業 –