タグ

関連タグで絞り込む (226)

タグの絞り込みを解除

cに関するoka_Elizabethのブックマーク (82)

  • どこまで realloc 出来るか - TenForward

    じゃあ,malloc しまくるのを止めて,realloc で徐々に領域を広げて行った場合,どこまで行けるか. 同様のプログラムだけど,for 文の中は realloc をぐるぐる回す. #include <stdio.h> #include <stdlib.h> #include <errno.h> int main() { const int size = 1024*1024 ; int i ; char *p ; if ((p = (char*)malloc(size)) == NULL) exit(EXIT_FAILURE) ; for (i=0; ; i++) { if ((p = (char*)realloc(p, size*(i+1))) == NULL) { perror("realloc") ; break ; } } printf("Alloc size: %dMB\n"

    どこまで realloc 出来るか - TenForward
  • Part4 誰もがつまずくポインタを完璧理解

    C言語のポインタは難しいと言われます。しかし,ポインタについて覚えるべき文法は,それほど多くはありません。Cを勉強してきて,ポインタのところでつまずいたという場合でも「&や*などのポインタに関する文法はわかるのだけれど」という人は多いでしょう。むしろ,ポインタで難しいのは,その考え方にあります。 考え方さえわかってしまえば,ポインタはそれほど難しいものではありません。もしプログラムを読んでいて,ポインタの動作が理解できない場面があったら,そのポインタが「何の機能を実現するために使われているか」を考えてみることが理解につながります。この特集では,考え方に重点を置いてポインタを説明したいと思います。 Cではポインタは必須 読者の中には,JavaやC#,Perlなどのプログラミング言語を使っている人もいるでしょう。これらをはじめとする多くの言語では,ポインタというものは無いか,あったとしても,あ

    Part4 誰もがつまずくポインタを完璧理解
  • feof

    ファイルの終了状態の検知を行う 【書式】 #include <stdio.h> int feof(FILE *fp); 【説明】 ファイルfpの終端指示子をチェックします。 ファイルへのアクセスでは、ファイルの終わりに達したかどうかを、終端指示子(記憶場所は処理系に依存)で管理していますが、このfeof関数はこの終端指示子のON/OFFを検査します。 終端指示子はclearerr関数、rewind関数、fseek関数でクリアされます。 【引数】 FILE *fp : FILEポインタ 【戻り値】 終端指示子が設定されている場合  : ≠0 終端指示子が設定されていない場合 : =0 【使用例】 #include <stdio.h> #include <stdlib.h> int main(int argc,char *argv[]) { FILE *fp; int c; if((fp =

  • C言語講座:ハッシュテーブル

    [リスト型のデータ構造]←このソース→[双方向リスト] /* ハッシュテーブル */ /* 今日はハッシュテーブルについて学びます。ハッシュ値とは、あるキーワードからある変換規則によって、得られる整数値のことです。 ポインタの配列を用意しておいて、キーワードへのポインタを、ハッシュ値を添字にして、配列に保存します。このポインタの配列のことをハッシュテーブルといいます。キーワードをハッシュテーブルに保存することにより、効率よく取り出すことができます。そのキーワードが既に登録済みかどうかは、キーワードからハッシュ値を割り出し、ハッシュテーブルを調べれば、瞬時にわかります。 二つ以上のキーワードのハッシュ値が、たまたま一致してしまうことがあります。これをハッシュの衝突といいます。衝突した場合の解決法は幾つかあります。今回は、リスト型のデータ構造にして、衝突した場合は先に登録されているキーワードの

  • you have new mail in /var/spool/mail を停止させる方法 - uncertain world

    you have new mail in /var/spool/mail/yuki Poderosaで,Linuxサーバの作業をしている場合, 上記のようなメッセージがしばしば観測されると思うのですが, これを解消する方法. $vi /etc/crontab MAILTO=root # 削除 MAILTO="" # 追加 これが一番簡単な方法っぽい. ・参考 http://sonic64.com/2003-12-11.html http://openlab.dino.co.jp/2009/03/30/203625463.html http://www.igreks.jp/dev/2009/01/cronroot.html

    you have new mail in /var/spool/mail を停止させる方法 - uncertain world
  • C言語 マルチバイト文字のバイト数を取得 - stdlib.h - [ mblen ] | 勇躍のゴミ箱

    C言語 目的別 画面への文字出力 画面へ1文字単位で出力 画面へ1行単位で出力 画面へ書式付きで出力 可変個引数を書式付き表示 キーボードから文字入力 入力を1文字単位で取得 入力を1行単位で取得 入力を書式付きで取得 ストリームに1文字戻す 文字列データの入出力 文字列から書式付きで取得 文字列へ書式付きで出力 可変個引数を書式付き出力 ファイルオープン ファイルを開く ファイルを閉じる ファイルオープンのモード 標準入出力について ファイルの読み込み テキストファイルの読込 空白区切りファイルの読込 CSVファイルの読込 バイナリファイルの読込 ファイルの書き込み テキストファイルの書込 CSVファイルの書込 バイナリファイルの書込 可変個引数をファイルへ書込 ファイル関連 ファイル位置の取得 ファイル位置の設定 ファイル位置の取得2 ファイル位置の設定2 ファイル位置を先頭に戻す フ

  • 文字の文字コードを取得する

    例えば「a」と言う文字は文字コードで言うと「0x61」であり「G」と言う文字は「0x47」と言う文字コードに対応しています。( 16 進数表示しているのは 2 進数は人間に取って分かりにくいためです)。 厳密に言えば、文字に対する文字コードの対応表は色々な種類が存在します。 Shift_JIS や Unicode など色々な対応表が使われているためどの文字コードが使われているのかを意識する必要がありますが取りあえずは気にしないで下さい。 では文字に対応した文字コードを表示させてみましょう。文字コードを 16 進数で表示するには次のように記述を行います。

    文字の文字コードを取得する
  • 配列とポインターと、そして文字列リテラルとかの話 - f99aq8oveのブログ

    きっかけ C/C++のポインタの機能--配列との関係 - builder 「 *s 」と「 s[] 」の違い - IT戦記 C 言語の配列について - IT戦記 なにやらポインターとか配列とかでいろいろ盛り上がっていたようですね。 遅ればせながら、私も参戦してみたいと思います。 というのも、新人教育の副講師としてプログラミング言語 C を新人たち*1に教えたりしていたのですが、まさに amachang さんのエントリー名のとおりの "「 *s 」と「 s[] 」の違い" でつまずいてしまったのです。 新人教育では、このコードと図のようなものをプロジェクターで映し出して説明してみました。 char a[] = "hoge"; char a[] = { 'h', 'o', 'g', 'e', '\0' }; /* ↑と同義! */ char *b = "fuga"; /* const char

    配列とポインターと、そして文字列リテラルとかの話 - f99aq8oveのブログ
  • パソコン勉強サイトあかかげまる

    ADATA M.2 SSDを買ってみた HDDが壊れそうだったので代替品をドスパラで探していたら、メモリ製品で有名なADATAの「M.2 SSD(LEGEND 800)2TB」が滅茶苦茶安かった(約1万円)ので購入してパソコンに取り付けして...

    パソコン勉強サイトあかかげまる
  • 文字列リテラル - mkubara.com

    概要 C/C++でよく記述する、ダブルクォーテーションで囲まれた文字列を文字列リテラルと呼び、プログラム実行時に利用する文字列を表現するために利用します。文字列リテラルは普段何気なく使っているにもかかわらず、その実装はなかなかに興味深いものです。稿はそれを記述していきます。 文字列リテラル 文字列リテラルとは C/C++ではダブルクォーテーションで囲まれた文字列を文字列リテラルと呼びます。リテラルとは質的には定数を表します。(定数として実装されているかは実装系依存です) コード: 文字列リテラル 文字列リテラルはプログラム実行開始時に、メモリ領域中の特殊な領域に文字配列として確保されます。よって領域定義としては char [] に近いものです。ただし我々が普段使っているスタック領域(関数内で変数宣言したときに使う)やヒープ領域(newやmallocで取得する領域)とは違った箇所に領域を

  • 2の累乗の計算 ~さんすう・数学のお勉強~

    ● 質問 ● treoasさんから、質問のメールをいただきました。 まるで、このホームページのために作ってくださったような質問で、 うれしくなってしまいます。 それは、2の16乗とか17乗のような、 2の累乗(るいじょう)の計算のやりかたでした。 わかりやすいように、しっかり例までつけてくださっていたので、 その例の方をのせさせていただきます。 2のx乗について、xが10以上の時は次のようにして求めることができる。(途中略) (例) 2の16乗 2の6乗は64で、これを1000倍する     64000 2の7乗は128で、これを10倍する       1280 2の8乗は256で、これはそのまま    +)   256 これをたすと        65536 (例) 2の17乗 2の7乗は128で、これを1000倍する   128000 2の8乗は256で、これを10倍する    

  • ldap_first_attribute

  • ユーザ時間とシステム時間の違いを教えてください。

    実時間=経過時間とも言う。 CPU時間=プログラムの実行でCPUを使った時間。 (ディスクを読んでる最中などは経過時間は当然必要だが、CPUは使わない) ユーザーCPU時間:アプリケーションプログラム自体が直接CPUを使っている時間。計算時間など。 システムCPU時間:アプリケーションの依頼でOSが仕事をする(例えばディスクを読む)時にOSが使うCPU時間。ディスクを読む場合には、実際にディスクを読んでいる時間中でなくその前後でOSがCPUを使う。 システムCPU時間のことをオーバーヘッド(頭の上)とも言います。必要で、ありがたいものですが、あまりでかいと嫌われます。(親みたいなもの?) この回答への補足 丁寧な解説ありがとうございます。 実時間とCPU時間について理解が深まりました。 できれば、参考文献や参考URLなどご存知であれば教えてください。 補足日時:2002/02/05 14:

    ユーザ時間とシステム時間の違いを教えてください。
  • 時間の計測を行う - 日進月歩

    C言語において時間の計測を行う方法は複数ありそれぞれの特徴を把握して最適なものを選択しなければならない. time time関数を用いる場合は秒単位の精度でしか測定されない. またプロセスの実時間の測定を行う. #include #include int main(){ time_t t1,t2; t1 = time(NULL); /* 処理の記述 */ t2 = time(NULL); printf("time = %d[s]\n", (int)(t2-t1)); return 0; } clock clock関数をの場合にはtimeよりも精度良く計測が出来る. 具体的な精度についてはシステム依存でLinuxでは1/100秒単位で計測が可能. またtimeのように実時間ではなく,プロセスの占有時間のみが計測されることに注意しなければならない. #include #include int

    時間の計測を行う - 日進月歩
  • ライブラリ関数一覧

    標準ライブラリ関数については 第7章 で簡単に触れましたが、ここでは第7章では扱わなかったANSI標準ライブラリ関数を、簡単な用例も示して詳しく説明することにします。 なお、下記の「☆」はこの付録での書き下ろし、「○」は編へのリンクを示します。 【時刻・日付管理関数】 ヘッダ: time.h ※関数名説明

  • https://funini.com/kei/c/time.shtml

  • C言語で実行時間測定

    C言語で実行時間を測定する方法。覚書。正確さから言えばgettimeofdayかな。手軽さからならclockあたりで。Unixであれば、timeコマンドがソースの変更もなく手間もかからず簡単。Windowsの場合は、timeitコマンドがリソースキットに含まれている。 % time 実行ファイル 以下、Cのコード。 clock #include <stdio.h> #include <time.h> int main() { clock_t t1, t2; t1 = clock(); /* 処理. */ t2 = clock(); printf("%f\n", (double)(t2 - t1) / CLOCKS_PER_SEC); return 0; } gettimeofday #include <stdio.h> #include <time.h> #include <sys/tim

  • Man page of SYSCONF

    Section: Linux Programmer's Manual (3) Updated: 2019-05-09 Index JM Home Page roff page 名前 sysconf - 動作中に設定情報を取得する 書式 #include <unistd.h> long sysconf(int name); 説明 POSIX では、アプリケーションがコンパイル時や実行時に、 特定のオプションがサポートされているかや、 設定可能な特定の定数や制限 (limits) がどんな値かをテストすることができる。 コンパイル時に行うには、 <unistd.h> と <limits.h> の両方もしくは一方をインクルードし、 特定のマクロの値を確認する。 実行時には、ここで説明する関数 sysconf() を使って数値を問い合わせることができる。 ファイルが存在するファイルシステムに依存す

  • 時間の計測 - C言語 - 碧色工房

    プログラムの課題などで実行速度を向上するにはどうしたらよいか? なんて問題が出されることがあります。 そんな時実際どれくらい時間がかかっているのかを測ってみたくなります。 ベンチマークソフトのように処理速度の計測なんかをできたら面白いかもしれません。 そこで、時間の測り方を書いてみたいと思います。 まず、時間関係の関数を使うには time.h というヘッダファイルをインクルードする必要があります。 こいつの中身を一度見ておいたほうがいいでしょう。 Windows の Visual C++ だと C:\Program Files\Microsoft Visual Studio\VC98\Include にあります。 VineLinux の場合は /usr/include/ にありますが、 内部で /usr/include/bits/ にある time.h をインクルードしているので二つとも見

    時間の計測 - C言語 - 碧色工房
  • Linux LDAP Tutorial: OpenLDAP Software development C programming SDK man pages, RFC's and Links