※ 更新履歴 ※ 2017/11/03 ・sp.8章追加 2017/10/11 ・配布しているプロジェクトをVisualStudio2017に更新(それにまつわる説明も更新) 2015/09/12 ・s.3章 Androidのようなボタンの作り方(C++) 追加 2013/09/02 ・VisualC++2012のプロジェクトを追加 2013/02/23 ・d3.5章追加 2013/02/20 ・d3.1章追加 ・d3.2章追加 ・d3.3章追加 ・d3.4章追加 2013/01/19 ・sp3章追加 ・sp4章追加 ・sp5章追加 ・sp6章追加 ・sp7章追加 2012/06/23 ・3.14章追加 2012/06/16 ・sp1節追加 ・sp2節追加 2012/02/11 ・d6節追加 2011/11/10 ・h11章追加 2011/10/31 ・s1章追加 ・s2章追加 2011/
5. 整数型 今まで C 言語の整数型は char、short int、int、long int 型がありましたが、今回からこれに加え _Bool 型と long long int 型が使用可能になります。本章ではこれら新たに加わった二つの整数型と変更された整数の除算ルールについて説明します。 5.1 _Bool 型 多くの人が使っていたけど、言語仕様の中では規定されていなかった...。今度の新しい C 言語では、それが仕様に取り込まれました。それとは bool 型です。多くの人が bool や _bool, BOOL, Bool などと typedef あるいは define をして使用していますが、とうぜん各人によってその名前はバラバラでした。したがって他人の作ったライブラリを利用するとき定義が衝突したりしり、ソースプログラム上で表記の統一がとれなくなったりして、問題が発生しました。
システム・プログラム 電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp> このページは、次の URL にあります。 http://www.coins.tsukuba.ac.jp/~yas/classes/syspro-2003/2003-06-02 あるいは、次のページから手繰っていくこともできます。 http://www.coins.tsukuba.ac.jp/~yas/ http://www.is.tsukuba.ac.jp/~yas/index-j.html ■今日の重要な話 UDP/IP のプログラム socket() sendto() recvfrom() bind() ソフトウェア割込みとシグナル signal() kill() ■TCP/IPの基本的な考え方 ◆通信路の開設 ■echo-client ■echo-server-fork ■補足 ◆emac
等というのをプログラム中にちりばめてデバッグをしている人がたくさんいます。 WindowsやMac等のPC系に比べ、企業で使われていSUN、SGI、HP等のワークステーション系のデバッグソフトは未だに高価(100万位)な為ですが、ちょっと悲しいです。 さて、このデバッグ方法には問題があります。例えば、 上記のようなプログラムがあったとします。 実行したら"Error!"と画面に表示されました。 エラーはfunction1とfunction2のどちらで表示されたでしょうか。 この程度のプログラムでしたら、表示する内容を"function1 Error!"、"function2 Error!"のようにすれば良いのですが、大きなプログラムになりますと、表示内容重複を管理するのが困難になったり、たとえ重複が無くても、画面に表示された文字列がいったいどこで表示されたのかを特定するのが難しくなります。
データ型の中で ( ) で括った部分は省略可能です。 int型やunsigned int型のデータサイズは、16ビット環境では16ビット(2バイト)ですが、32ビット環境では32ビット(4バイト)になります。 さらに、上で示した基本データ型にアスタリスク("*")をつけたものは、そのデータ型へのポインタ(メモリアドレスを格納する変数)を表します。たとえば、「unsigned int*」は「unsignd int」型データへのポインタ、すなわち、「unsignd int」型の変数のアドレスを格納する変数の型を表しています。 また、データ型の先頭に「const」をつけると、それはデータの内容が変更されないことを示します。 さて、Win32 APIを使うプログラミングではこう言ったデータ型に別名をつけて、いろいろなデータの種類をわかりやすく表すようにしています。たとえば、「unsigned sh
さて、メモリを確保する有用なライブラリ関数に malloc(3) がある。これ自体は、決してOSの機能として実装されているシステムコールではないが、必要に応じてメモリを確保するシステムコール sbrk(2) を呼び出す。malloc(3) は、動的にメモリを確保するために使われる。つまり、実行時にしかサイズが決まらない配列を確保するのに使われる。たとえば、エディタなどを考えてみれば、その文書をメモリ内に保存するためにメモリが確保されるのだが、そのサイズはその文書の大きさによってだけ決まる。ここで静的に配列で確保すると、特定のサイズ以上のファイルは読み込めないことになる。これは困る。だから、こういう場合には、malloc(3) を使って、動的に必要なだけのメモリを確保するのである。 malloc(3) は void 型のポインタを返す。どんなサイズの構造体でも malloc(3) で確保でき
<body stylesrc="computer.htm"> <!--webbot bot="Include" tag="BODY" u-include="computer.htm" startspan --> <hr> <p align="center"><font size="6">小俣光之:コンピューターのページ(C言語講座)</font> </p> <hr> <h3 align="center"><font size="3">本が出来ました。「C for UNIX」</font></h3> <p align="center"><img src="book-1.jpg" alt="book-1.jpg (46421 バイト)" width="500" height="358"></p> <p align="center"><img src="book-2.jpg" alt="book
学生向け 次のようなコードで、数値と文字列を入力するとします。 #include <stdio.h> int main(){ int num; char ch,str[5]; printf("num: "); scanf("%d",&num); printf("num= %d\n\n",num); printf("str: "); fgets(str,sizeof(str),stdin); printf("str= \"%s\"\n",str); return 0; } 実行すると次のようになってしまいます。 num: 10 num= 10 str: str= " " 数値をscanfで読み込むとき、数値の後の文字列(改行を含む)はバッファに残ります。すぐ後に文字列を読み込もうとすると、バッファに残った文字列(ここでは改行)をまず読んでしまうので、期待する結果になりません。 このようなsc
ACM/ICPC(プログラミングコンテスト)系列の問題を解くことを目標にして,各種アルゴリズムを C++ で実装してみた.極めて意地が悪い類の問題には対応していないし,特定の入力に対して高速に動くということもない.計算量も最良とは限らない. これらを参考にする方への注意とお願い: これらの記述は正確とは限りません.参考文献を参照することを強く推奨します.間違っている場合は是非教えてください. これらのプログラムは間違っているかもしれません.各人で検証することを強く推奨します.バグがあれば是非教えてください. 分類が怪しいので,これはこっちだろう,ということがあればコメントを下さると助かります. 注意! 現在書き換え中 TODO 分類を正しく行う. 全体的に説明と使い方を詳しく. Verify していないものを Verify. ボロノイ図(いつになることやら……) 基本 テンプレート グラフ
ここでは、当サイトに来られた方々に有益と思われるさまざまな技術情報を公開していきます。サイドメニューに、どのような技術情報を公開しているかのリストが表示されていますので、ご興味をもたれたページを是非ご覧ください。 技術情報に含まれる多くのページは、コメントを投稿できるようにしています。今後の改善のための参考とさせていただきますので、ご感想、ご意見、ご指摘などを残してくださると助かります。なお、当サイトに関わりない投稿、または不適切な表現が含まれる投稿に関しては、予告なく編集または削除させていただくことがございますので、あらかじめご了承ください。 当サイトに掲載しているソースコードは、ご自由に利用していただいてかまいません。ただし、何ら保証はありませんし、当サイト掲載ソースコードの使用および使用不可によって生じたいかなる損害に対しても、弊社は責任を負いかねます。すべて自己の責任においてご利用
pointer,ポインター ポインタって実は私は躓かなかったんですけど、(良書のおかげ)結構躓くとの事ですので、ちと、簡単に説明します。 名前のとおり、指す人(変数)です。 何を指すかというと、メモリのアドレスです。 アドレス等が何なのかは 入門書等に詳しくかかれているので、そこを見てください。 では、メモリのアドレスを指すにはどうすればいいのでしょうか? 以下のプログラムを見てください。 #include <stdio.h> int main(){ int var = 0; int *pointer = NULL; int pointer_num; //varの中には0が入っているが、&をつけることによってアドレスを入れることが出来る。 //しかし、アドレスはポインタ型(ここではint *)にしか入れられない。 pointer = &var; //そして、ポインタの使い方は以下のような感
皆さんこんにちは。 最近ヤマトさんなど多くの配達に関するニュースを見かけますね。 今日はそんな配達問題を解決する電子コインロッカーを開発しました。 まずはこちらの動画をご覧ください ロッカーへ近づくとアプリがbluetoothを認識し、閉めることができます。 閉めた人だけが開けられます。 セキュリティキーはアプリ内のチャットシステムで譲渡することも出来、これによって送られた人も鍵を開けることができます 何らかの理由でロッカーへ取りに行けなくなってしまった場合にも他の人に取りに行ってもらうことができます。(鍵送信券は120円) これにより現状初期投資300万円近くかかっていた電子コインロッカーが格安でロッカービジネスを行うことができるようになります。また、ロッカーを使う人も格安で使えます。ロッカーの使用は2時間まで無料。その後6時間ごとに240円かかります。(アプリ内課金でApple社に3割
注意 : このページはC言語初心者向けではなく、組込み開発初心者を対象としています。理解には、C言語に関する十分な知識 および 組込み機器開発に関する多少の知識を必要とします。 このページは、これまで避けて通ってきたC言語の嫌な部分と直面し、C言語プログラマとしての自立を促すモノです。C言語の本質が知りたい方や、ちゃんとした資料をお探しの方はお勧めしません。また、「初めてのC言語」というタイトルは、「C言語を初めてやる」という意味ではありませんので、C言語がわからない方はご遠慮ください。ターゲットはIntelでもWindowsでもLinuxでもありません。聞いたこともないようなプロセッサが相手です。 スポラディック連載なので、作者にひまが出来次第追加していきます。 第一部 - 初めてのHelloWorld この章では こんなこと やります
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く