mather314 2012-08-20 14:26:06

[C] static...? このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

staticグローバル変数は同一ファイル内でしか参照されないシングルトンな変数だから、マルチスレッドプログラミングで使っても大丈夫さ!とは作者の言葉。 実際にはもっとたくさんstaticグローバルな変数が宣言されてて、何ファイルにも渡ってどんどん参照&更新されまくってたけど…むしろよくやるなぁ。

//============ File : head.h ============
#include <stdio.h>
#include <string.h>

extern void other_func(char *_buf);

//============ File : main.c ============
#include "head.h"
static char buf[1024] = "";

int main(int argc, char *argv[])
{
  strncpy(buf,"unko",4);
  other_func(buf);
  printf("%s¥n", buf); // => "unkode¥n"
  return 0;
}

//============ File : other_func.c ============
#include "head.h"
void other_func(char *_buf)
{
  strncat(_buf,"de",2);
}

コメント(1)

#1 customX_156 2012-08-25 14:05:44  

このサンプルではstaticの悪用はまるで説明できていないんじゃ? むしろ文字列関数の使い方が問題。


このウンコードに臭った人は、こちらのウンコードにも臭ってます

[その他] HOW TO ABC..

このエントリーをはてなブックマークに追加

実際にあった某システムの超重要なマスター...

create table item_master (
 A varchar(2...

鑑賞する »

[C++] ダイナミック型変換

このエントリーをはてなブックマークに追加

その dynamic はそういう意味じゃ...

// デフォルトの dynamic_cast ではダイナミックにキャストできない...

鑑賞する »

[C] すげーちゃんと動く!

このエントリーをはてなブックマークに追加

結合試験2日前に脱退したうんkプログラマ...

return 0;

鑑賞する »