タグ

cに関するstoikheiaのブックマーク (26)

  • scope of a for loop control declaration

    Document number: N1865 Submitter: Martin Sebor Submission Date: September 19, 2014 Subject: scope of a for loop control declaration Summary The scope of a for loop control declaration in C is different from that in C++. In particluar, while in C the declaration establishes its own scope in which the scope of the body of the for statement is nested, in C++ the two are one and the same. The practica

  • C言語分かってなかった (I Do Not Know C) - Qiita

    Dmitri Gribenko氏によるBlog記事 "I Do Not Know C" より訳出。原文および訳文のライセンスは CC BY-SA 3.0 に従う。 この記事の目的は、皆に(とくにCプログラマに)「C言語分かってなかった」と言わせることです。 C言語の死角は思っているよりも身近にあり、よくある単純なコードですら 未定義動作(undefined behavior) を含む可能性があると示したいと思います。 記事は質問に対する回答の形をとります。全ての例示コードは別々のファイルに分かれていると考えてください。 (訳注:Qiita/Markdown表現の制約から、読中ネタバレ防止のため文章順序を変更しています。前半には質問のみを、後半には質問と回答の対を訳出しました。) 質問編 1.

    C言語分かってなかった (I Do Not Know C) - Qiita
    stoikheia
    stoikheia 2017/04/26
  • GitHub - clibs/clib: Package manager for the C programming language.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - clibs/clib: Package manager for the C programming language.
    stoikheia
    stoikheia 2015/06/07
  • C言語のインライン関数について - OSのようなもの

    GCCや多くのコンパイラーは,C言語の標準(C99)にインライン関数が取り込まれるずっと前からインライン関数をサポートしていた。そのためかインライン関数の定義は様々で,同じ書式でも各コンパイラで挙動が異なる場合がある。 今回は,インライン関数の定義をまとめ。それぞれ出力されるアセンブラコードを比べてみる。 概要 先頭に inline という言葉を付けて関数を宣言すると,コンパイラーはそれをヒントにコードをインライン化――関数のコードを呼出し元に展開する。これにより,関数呼び出しのオーバーヘッドが取り除かれ実行が早くなる。 inline はコンパイラに対するヒントであって指示ではないから,様々な理由からヒントが無視され,インライン化されず実際の関数として出力される場合がある。例えば,その関数のアドレスが参照される場合や,関数定義内の再帰呼出しなどはインライ化できないし,コンパイラーの最適化を

    C言語のインライン関数について - OSのようなもの
  • 突発的にC言語でプログラミングが書きたくなる病 | blog.smarteducation.co.jp

    こんにちは。好きなオプションは-Wall -Werrorです。masuyamaです。 SmartEducationでは、サーバ側の言語として正式にはRubyを採用しています。 そのため、日ごろはほとんどRuby、たまにPython、まれにPHPPerlを使っていたりします。 LL言語はすごく簡単にやりたいことができていいのですが、なぜか突然C言語(C++ではなく)でプログラムを書きたくなることがよくあります。 今回は、一時的なデータ集計プログラムを書く機会があったのであえてC言語で書いてみました。 C言語でMySQLにアクセスする 今回のプログラムでは、MySQL内にあるログ的なデータをかき集めて属性ごとにカウントする、というだけのプログラムでした。 C言語でこの手のプログラムを書くことはあまりないと思いますが、この時に必須になるMySQLへのアクセス手法について紹介したいと思います。

  • C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAGUCHI::weblog

    はじめに こんにちは、Go界のシャールト・コプリーです。気がついたら最後のエントリから3ヶ月も経ってました。 Goを始めると「なんでこういう書き方になってるんだろう」とか、「そもそもなんでこういう仕様になってるんだろう」とか思うことがちらほらあると思います。これは大いにGoの作者の一人であるRob Pike氏の思想に依るところがあるのが見受けられます。彼のプログラムに対する考え方が25年前に公開され「Pike Style」として知られていますが、いまもその考え方は大きくは変わっていないと思われます。せっかくなので翻訳しました。文はC言語に関する文章ですがその質は言語に依らないものだと思います。 Notes on Programming in C (追記)25年前なのでコンパイラの動作に依存する部分(includeに関する記述)などは古い部分もありますが、プログラミングスタイルに関する部

    C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAGUCHI::weblog
    stoikheia
    stoikheia 2014/10/13
  • http://blog.monoweb.info/blog/2012/07/14/c99-array/

    stoikheia
    stoikheia 2013/07/31
  • ISO/IEC 9899:1999 - Programming languages C (n1124.pdf)

    WG14/N1124 Committee Draft — May 6, 2005 ISO/IEC 9899:TC2 Contents Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv 1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2. Normative references . . . . . . . . . . . . . . . . . . . . . . . 2 3. Terms, definitions, and symbols . . . . . . .

    stoikheia
    stoikheia 2013/06/18
  • Origin of C Language

    C言語は、C++やC#など「C」を名乗る言語はもとより、 1990年以降に盛んに使われるようになった各種言語の多くの源流とされている。 では、このC言語自身の起源はというと、 一般には下記の系譜であると理解されている。 ところが、 「C言語の構造体をめぐって」を まとめるに際して調べてみたところ、 この系譜は事実の記述としてあまりにも一面的であり、 系譜として「不適切」であると断言しても良いほどであるということが判った。 このことは、「C言語の構造体をめぐって」の 2005年5月2日以降の版(この文章の初稿公開日まで)にも簡単に記載していたが、 これを独立させて詳論してみることにした。 CPLを起源とする系譜が如何に「不適切」か まず結論を簡単にまとめておくと、以下のようになる。 B言語がBCPLから受け継いだものは、 非常に重要な側面ではあるものの、B言語の特徴の一部分に過ぎない。 BC

    stoikheia
    stoikheia 2013/05/20
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • feof関数でwhileループを回す奴はド素人 - hnwの日記

    (2013-04-07 01:30追記)補足のコードに恥ずかしい間違いがあったのを修正しました。@nonakapさん、id:s-tomoさん、ご指摘ありがとうございます。 (2013-04-07 10:00追記)「補足その2」を書き足しました。 (2017-04-23追記)論旨がわかりにくい部分があったので、整理しました stackoverflowの記事「“while( !feof( file ) )” is always wrong」をざっくり翻訳してみます。これはWilliam Pursellさんによる自作自演スレ(回答者も人)で、Cでwhile( !feof( file ) )というループを作るのが悪い理由を説明するものです。 ちなみにPHPについてもほぼ同じことが言えますので、PHPプログラマの方にも一読をお勧めします(PHPの主要なファイル操作関数はCとほぼ同じインターフェース

    feof関数でwhileループを回す奴はド素人 - hnwの日記
    stoikheia
    stoikheia 2013/04/10
  • Cでわかるオブジェクト指向一覧

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Cでわかるオブジェクト指向一覧
    stoikheia
    stoikheia 2013/02/14
  • comp.lang.c Frequently Asked Questions

    This collection of hypertext pages is Copyright 1995-2005 by Steve Summit. Content from the book "C Programming FAQs: Frequently Asked Questions" (Addison-Wesley, 1995, ISBN 0-201-84519-9) is made available here by permission of the author and the publisher as a service to the community. It is intended to complement the use of the published text and is protected by international copyright laws. Th

    stoikheia
    stoikheia 2012/11/20
  • aggregateと初期化リストの不思議

    ちょうど今、initializerの項目を執筆している。この部分は、結構難しい。分かりやすく説明しようとすれば、不正確になってしまうし、規格に忠実であることを求めると、規格のように無味乾燥とした、正しいが分かりにくい文章になってしまう。 このため、なかなか執筆が進まないのだが、このままではいけないので、ともかくこのブログで、何か解説をしてみようと思う。 たまたま2chのスレで、aggregateの話題が出ているので、これについて、なかなか複雑な部分を、解説する。 C言語では、配列や構造体(C言語の用語)を初期化リストで初期化できた。 struct Foo { int x ; int y ; } ; struct Foo foo = { 1, 2 } ; 同じことは、C++でもできる。ただし、C++には「構造体」というものはない。すべて、クラスである。C++では、ある特殊な制限を満たした配列

  • 構造化プログラミングの苦難の歴史

    今回は「構造化プログラミング」の歴史について解説。その道のりを理解することは、プログラミングを正しく理解することにもつながるはずだ ――ソフトウェアの品質、複雑性、生産性を計測するのが「ソフトウェア・メトリクス」です。ソフトウェア・メトリクスの歴史を「混乱期」「胎動期」「活動期」「反抗期」「成熟・定着期」に分割し、何を、何のために、どうやって測定するのかというソフトウェア・メトリクスの質に迫ります。 前回「ソフトウェアの定量的測定の甘いワナ」では、ソフトウェア・メトリクスとソフトウェア開発両方の混乱期といえる40~50年前、どのようにソフトウェアを開発・設計してきたかについて、簡単に解説しました。 今回は、当時勃発した「構造化プログラミング大論争」という大きな事件について述べます。いまでこそ、ソフトウェア技術者の常識である「構造化プログラミング」は、当時、中世の宗教弾圧のような激しいバッ

    構造化プログラミングの苦難の歴史
  • C tips & reference \n

    当サイトは、その名のとおりC言語の関数やマクロの使い方についての説明を主なコンテンツとしております. コーディング中に「あれ,この関数なんだっけ?」となったときや,関数をmanコマンドで調べたけれど,いまいち使い方が分からないときなどにご利用いただければ幸いです. ホームページの構成 C言語関数辞典は大きく分けて4つのコンテンツから構成されます. コンテンツ説明

  • ポインタの裏話

    ポインタの裏話 岡﨑 直観 okazaki at ecei.tohoku.ac.jp http://www.chokkan.org/ @chokkanorg ポインタの裏話 プログラミング演習A 1 このような説明を 覚えていますか? 知らなくても全く問題ありません ポインタの裏話 プログラミング演習A 2 int x = 0; &xは変数xの「アドレス」 「番地」「住所」を返す 変数x 0 &x メモリ空間, 記憶空間 変数xのアド レス(住所) ポインタの裏話 プログラミング演習A 3 ____ / \ 何言ってたんだこいつ? / ⌒ ⌒\ 番地 アドレス ぬるぽ / (●) (●) \ \ / | 、“ ゙)(__人__)" ) __________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | || / , \n||

  • http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt03ch17s04.html

  • Boost.勉強会 #8 大阪 で喋ってきました +新見観光のおまけつき - kikairoya’s diary

    移動記録 2/10 住居探しのために前日入り。 607- 都城→鹿児島中央 758- 鹿児島中央→新大阪 1330- 不動産屋で空家探し 1900- 大阪の触手他7名で前夜祭 2/12 徒歩移動のみ。 1100- 編 1800- 懇親会 2/12 新見市の縄文土器展のついでに鍾乳洞めぐり。 745- 大阪→姫路 909- 姫路→岡山 1005- 岡山→新見 1110- 新見でレンタカー借りる 1150- 井倉洞 1300- 蕎麦屋 1410- 満奇洞 1530- 猪風来美術館 1630- 近くで取れたイノシシを焼いてべる簡単なおしごと 1830- 撤収 1910- 新見でレンタカー返却 2007- 新見→出雲市 2/13 エクストリーム帰宅 640- 出雲市→新山口 1022- 新山口→小倉 1123- 小倉→鹿児島中央 1428- 鹿児島中央→都城 前夜祭 @hotwatermorn

    Boost.勉強会 #8 大阪 で喋ってきました +新見観光のおまけつき - kikairoya’s diary
    stoikheia
    stoikheia 2012/03/20
    SEH on MinGW
  • https://webstore.iec.ch/preview/info_isoiec9899%7Bed3.0%7Den.pdf

    stoikheia
    stoikheia 2012/02/05