タグ

プログラミングとC言語に関するyasufのブックマーク (8)

  • MDN Web Docs

    Thanks! Please check your inbox to confirm your subscription. If you haven’t previously confirmed a subscription to a Mozilla-related newsletter you may have to do so. Please check your inbox or your spam filter for an email from us. Hacks Blog read more at hacks.mozilla.org Making a Web Thing on the ESP8266 The power of web things comes from their ability to connect the digital world of web pages

    MDN Web Docs
  • プログラミング言語 C の新機能

    プログラミング言語 C は 1990 年に ISO で規格化された言語です。その後、何度かの誤りの訂正や wchar_t 型の追加といった追補がなされた後、さらに使いやすくするための新しい機能が検討されてきました。そして、1999 年、ついに新しいプログラミング言語 C の仕様「ISO/IEC 9899:1999 - Programming Language C」(略称 C99) が 1999/12/01 付けで規格として出版されました。ここでは、その新機能を説明します。

  • 知っておきたい整数除算の豆知識

    割り算とは何を意味するか C言語では、整数同士の割り算(/)は結果を切り捨てて整数にします。つまり、3/2は1.5ではなく 1になります。また整数同士については剰余(%)が計算できます。これは割り算したあまりです。 たとえば5%3は2となります。 一般にmをnで割った商がaであり、剰余がbであるとは、次の関係式が成立することを言います。 m = n*a + b (ただし 0 数学で定義されているのは、m,nともに正の場合だけです。しかし、現実にはint型の演算として 定義されている以上は、何かの計算結果を出さなければなりません。 たとえば、m=-5, n=3の場合を考えてみます。上の関係式は必ず満たさなければならないので、 次のどちらかを採用することになるのです。上の場合には、剰余が負になってしまうという 不具合があり、下の場合には商がプラスの場合と絶対値が同じにならないという不具合があ

  • 11-C言語で文字列を扱う

    再確認、"ABC" さて、「"ABC"」というのが文中に出てくると、一体どういう意味をなすのか。これは重要です。前にも言いましたが、C言語には文字列という型はありません。それじゃぁ一体、文法上どういう意味になるのでしょうか。 じつはプログラム中に「"ABC"」が出てくると、これ全体がアドレスの値になります。何のアドレスの値かというと、'A', 'B', 'C', '\0' と連続してメモリ上に置かれた時の'A'へのポインタです。メモリ上のどこに置かれるかは分かりません、これはコンパイラやOSがうまく配置してくれます。 'A'はchar型、"ABC"は'A'のアドレス これを頭の中で何度も唱えてください。すると、こんなことができると分かるはずです。 char *s; s = "ABC"; この例は、char型へのポインタ変数sを作って、そいつにどこかに用意された"ABC"の先頭アドレスを代入

  • 文字列操作は「C言語最大の欠点」か? | スラド デベロッパー

    ITProのコラム「記者の目」は複数の日経BPの雑誌記者が記事にはしにくい個人的な意見などを書いている人気コラムだが、最近「C言語最大の欠点」というタイトルのコラムが掲載された。 どうやらタレこみ子と同世代らしい記者は、C言語最大の欠点を文字列処理であると断じ、特にバッファーオーバーフローの回避のためのコードを書くのが大変なところと論じている。そして、C++でSTLのstringクラスを使うべし、と主張している。 タレこみ子の乏しい経験からいうと、バッファーオーバーフローの問題は確かに大きな問題だが、それは「文字列」処理で起きるというよりは、ネットワークから受信する「データ列」の処理で起きるケースのほうが多いように思う。STLについては詳しくないのだが、stringクラスは'\0'も含みうるデータ列を正しく処理できるのだろうか。 また、バッファーオーバーフローは問題として理解しやすく、コー

  • ポインタ虎の巻

    ポインタ虎の巻 初級篇~ポインタはなぜ難しいか? C言語を学ぶ上で、ほとんどの人が引っかかり、往々にCの勉強を放棄するきっかけとなるのがポインタである。しかし、ポインタはC言語という特定のプログラム言語だけではなく、コンピュータというものを理解する上で、必要不可欠な重要な機能である。C言語参考書では、ポインタを解説する上で「箱」のモデルを使って解説することが多いが、この虎の巻では、より突っ込んだ具体的な動作を解説することでポインタというものの質を解明して見ようと思う。参考書ではC言語の抽象レベルの上で解説がされるのが通例だが、虎の巻では単純化されたアセンブリ命令を使って具体的に解説する。 初級篇目次 変数とは何か? 疑似アセンブリの定義 文字列の処理 アドレスの取得 ポインタの型 関数呼び出しの手法 構造体とポインタ リスト構造 NEW 二進木 NEW 中級篇~ポインタの高度な技 ポイン

  • OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん

    OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr

    OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん
  • 苦しんで覚えるC言語

    [全ページ目次] 苦しんで覚えるC言語(苦C)は、初心者を対象としたC言語入門サイトです。 C言語の基機能を体系立てて解説しており、市販書籍と同等以上の完成度です。 初めての人は 前書き から読み始めて下さい。 キーボードの矢印キーか、右下の進む>で次のページに移動します。 コンパイラ入手:基礎編:応用編:標準ライブラリ 全文検索:ダウンロード版:苦Cアンケート:ミス報告:掲示板で質問 [  更新情報  ] 01月22日 : Visual C++ 2005 Express Edition 10月30日 : Borland C++ BuilderX Personal 10月07日 : 掲示板に寄せられたQ&A項目を作成 03月10日 : ドラッグへの対応 ※ミス報告で報告されたミスの修正は約100回以上行っています。 苦Cについて 苦Cの使用法(特に読まなくても良い

  • 1