2005年08月17日
川俣晶の縁側ソフトウェア技術雑記total 9115 count

C99で追加されたC言語における可変長配列について

Written By: 川俣 晶連絡先

 いや~、焦りました。

 JIS X 3010を参照しながら仕事をしていたら、存在しないと思っていた可変長配列などという言葉が出てきて……。

 というわけで、メモ。

Cの可変長配列について §

 Cで配列を宣言する際、配列のサイズは定数で指定する必要がありました。(か、あるいは無指定)

 しかし、C99では、ここに式の値を指定することが許されるようになりました。つまり、実行時に動的にサイズを決定する配列を作ることができるのです。

 ちなみに、Visual Studio.NET 2003のCコンパイラや、Borland C++ 5.5.1のCコンパイラはこの機能をサポートしていませんでした。

しかし、間違えてはいけない…… §

 Visual Basicプログラマの場合、可変長配列と聞けばReDimステートメントを連想するかも知れません。しかし、ここでいう可変長配列とは、ReDim=作成済みの配列のサイズを変更する、という意味ではないことに注意が必要です。

 配列を宣言する際に式でサイズを指定することは、Visual Basic(や多くのプログラム言語)では当たり前のように可能でしたが、Cではそうではなかったということです。C99で、他のプログラム言語で当たり前のように可能だった機能が備わったということです。

 もっとも、だからといってCプログラマが困っていたのかというと、そういうわけではなく、mallocやallocaなどを使って上手く扱っていたのが現実だと思います。ただ、これらと比較して、いろいろな意味で扱いやすくなったのは事実だと思います。

参考リンク §

プログラミング言語 C の新機能 4. 配列

参考文献 §

JIS X 3010:2003 (ISO/IEC 9899:1999)プログラム言語C

Facebook

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20050817134638
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.