[C99] 第2回 オブジェクトの宣言 公開日:2021年9月30日 C++プログラマーのためのC言語入門プログラミング技術情報 C99におけるオブジェクトの宣言も、基本的にはC++98と同じです。ただし、微妙に言語仕様が異なる点がありますので、今回はそれらについて解説することにします。 局所オブジェクトの宣言 C99では、C++と同じように、ブロ […] 続きを読む
[C99] 第1回 C++にあってC99にない機能 更新日:2021年9月30日 公開日:2021年9月29日 C++プログラマーのためのC言語入門プログラミング技術情報 今回は、C++98にあってC99にない機能を紹介します。といっても、細かい機能については次回以降の関連する記事で説明するとして、今回は比較的大きな機能に限って扱うことにします。 クラス C++では、クラスキーがstruc […] 続きを読む
[C99] 第0回 はじめに 更新日:2021年10月12日 公開日:2021年9月28日 C++プログラマーのためのC言語入門プログラミング 今回から「C++98プログラマーのためのC99入門」の連載を始めます。C言語にはいくつかのバージョンがありますが、本編で扱っているのはそのうちのC90です。この連載では、C言語の第2版にあたる規格であるC99を扱うことに […] 続きを読む
C++98プログラマーのためのC99入門 更新日:2021年10月11日 公開日:2021年9月27日 C++プログラマーのためのC言語入門プログラミング技術情報 「C++98プログラマーのためのC89入門」では、C89にしぼった解説を行っています。しかし、C言語は何度かバージョンアップしており、新しいバージョンを無視したまま放置するわけにもいきません。そこで、引き続き「C++98 […] 続きを読む
第13回 フリースタンディング環境 更新日:2021年10月10日 公開日:2021年9月26日 C++プログラマーのためのC言語入門プログラミング技術情報 フリースタンディング環境というのは、C++でいう自立処理系の環境のことです。C++の場合と同様、オペレーティングシステムの支援無しに動作する環境であり、一部のヘッダを除き、標準ライブラリは一切サポートされません。また、プ […] 続きを読む
第12回 標準Cライブラリ 公開日:2021年9月25日 C++プログラマーのためのC言語入門プログラミング技術情報 C言語(C89)ではC++(C++98)の標準ライブラリのうち、当然のことながら標準Cライブラリに当たる部分しかサポートされません。しかし、標準Cライブラリの範疇でも若干のちがいがあります。 std名前空間 C++の標準 […] 続きを読む
第11回 その他、細部のちがい 公開日:2021年9月24日 C++プログラマーのためのC言語入門プログラミング技術情報 ここでは、他の回で採り上げなかったC++(C++98)とC言語(C89)の細かなちがいについて解説します。 可変個の実引数を取る関数の仮引数並び C++では、printf 関数のような可変個の実引数を受け取る関数の仮引数 […] 続きを読む
第10回 メモリの動的割付け 公開日:2021年9月23日 C++プログラマーのためのC言語入門プログラミング技術情報 メモリの動的割付け、あるいはオブジェクトの動的生成の方法は、C++とC言語では大きく異なります。 newおよびdelete演算子はない C++でオブジェクトの動的生成と解体に使っていたnew演算子とdelete演算子は、 […] 続きを読む
第9回 文字定数と文字列リテラル 公開日:2021年9月22日 C++プログラマーのためのC言語入門プログラミング技術情報 文字定数と文字列リテラルについても、C++とC言語では微妙なちがいがあります。また、C++では「文字リテラル」といいますが、C言語では「文字定数」という用語が使われています。 文字定数 C++の文字リテラルはchar型で […] 続きを読む
第8回 構造体と共用体と列挙体 公開日:2021年9月21日 C++プログラマーのためのC言語入門プログラミング技術情報 C言語にクラスはありませんが、構造体と共用体ならあります。また、C++と同様、列挙体も使うことができます。 タグ名だけで型名にならない C++ではクラスや列挙体のタグ名だけで型名になりましたが、C言語では明示的にstru […] 続きを読む