1 名前:デフォルトの名無しさん [2011/12/23(金) 22:51:14.19 ] C言語の*入門者*向け解説スレッドです。 ★前スレ C言語なら俺に聞け(入門編)Part 93 toro.2ch.net/test/read.cgi/tech/1322866566/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 154代目 hibari.2ch.net/test/read.cgi/tech/1322562648/ ★C++言語については避けてください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 長くなりそうなコードはcodepadに貼り付けてもいいでしょう codepad.org/
152 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:14:42.69 ] 外側のMergeSortの変数は、内側のMergeSortの変数に影響をあたえないし、逆もしかり。 これはスタックという仕組みで実現されている。 もう少し簡単な再帰から練習したほうがいい。 void recursive_test(int i) { if (i > 0) { recursive_test(i - 1); } return; } こういうので、いろんなところにprintf入れてみるとかで。
153 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:16:41.16 ] >>151 斜めすぎだろ。 >>147 書いたけど、それにつづけて小さいスタブに変えたらもっと小さくなるとか、せめてそういう方向でたのむわ。
154 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:18:17.75 ] >>151 まじすか 俺の負けです ちょっと今/MDつけてみたら6KBになりました これすごいですね /MDについて聞いたら怒られそうなので自分で/MDについて調べてみてこのページを見つけました msdn.microsoft.com/ja-jp/library/2kzt1wy3 (v=vs.80).aspx# つまりこれは実行する環境にlibcpmt.libとmsvcprt.libとmsvcrt.libが入っていないと動かないということですか? 一般的なソフトは/MDつけてコンパイルされて配布されているものでしょうか?
155 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:18:21.21 ] codepad.org/dAqEkNzj
156 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:36:58.50 ] >>154 実行する環境にmsvcrt.dllが入ってないと動かない(そのlib群は不要) んで、それはある程度新しいWindowsなら標準で入ってる 一般的なソフトがどうであるかは知らない
157 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:38:18.62 ] なるほど勉強になりました
158 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:39:06.90 ] ある程度新しいというのが気になるかもしれないけど、 ここ10年くらいのWindowsはこれに含まれる。
159 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:43:53.16 ] MergeSortの回答ありがとうございます 参考にして見ます
160 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:44:28.14 ] >151 バッチファイル echo hello world 改行無しで16バイト。 BASICなら中間コード化でさらに小さく。
161 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:49:13.67 ] >>154 VCで作ったプロジェクトだと、デフォのスイッチに含まれてるから、大半はついていると思っていい
162 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:49:14.54 ] >BASICなら中間コード化でさらに小さく。 行番号で2バイト、 PRINTの中間コードが・・・2バイトか? hello worldで11バイトだか、文字数とか範囲指定とか必要だろうからさらに数バイト。 16バイトより小さくはならんだろ。
163 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 12:08:14.58 ] Hコマンド最強。
164 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 12:13:02.69 ] Hボタン連打
165 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 12:26:32.71 ] 連打ッス!
166 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 14:05:35.06 ] マージソートって難しくない? 再帰普段使わないし 見たけど難しいな
167 名前:デフォルトの名無しさん [2011/12/26(月) 14:19:20.24 ] mySQLを扱う際に、whereを用いて制限をかけようと思うのですが、 セグメンテーション違反になってしまいます。 a=3; if(mysql_query(connect,"select * from テーブル where ID >"+a)){ 変数を扱うところが原因だと思うのですが、 どのように直したらよいのでしょうか。
168 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 14:20:16.26 ] とりあえず基本的な理屈だけ覚えとけばいい。 どうせ実際に使う機会がある頃には記憶薄れて忘れちまってるからな。
169 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 14:33:08.55 ] >>167 select * from テーブル where ID > 数値 という文字列を渡すことを期待しているようだが C言語で 文字列の連結は + で表せないぞ 十分に大きい文字配列 buf があるとして sprintf(buf, "%s%d", "select * from テーブル where ID >", a); mysql_uery(connect, buf); こうなる
170 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 14:57:45.96 ] sprintf(buf, "select * from テーブル where ID > %d", a); こっちの方がクエリパラメータっぽくていいかもしれんね。
171 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:03:35.41 ] パラメータ中に printf フォーマット文字が入ったらいやーんな感じなので %s で受けるようにたけど 例題中じゃ出てこないから 後者で十分だったようだね
172 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:22:58.52 ] 一番初心者向きのC環境何ですか? 簡単なグラフィックが利用できたらいいなと思っています。 例えば、黄色い四角形を出力するプログラムとか作りたいです。 図書館でC関係のグラフィック関係の本漁りましたがWindows以前(1995年より前) の本が7割くらいで……
173 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:26:02.93 ] likeを使うとしても、%を含めてリプレイスするのが一般的だから、入ることはないかと。
174 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:26:06.69 ] >>172 Turbo-C 2.01
175 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:28:09.67 ] >>172 Visual C++ & glut
176 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:35:13.40 ] 今連結リストの方方向リストを使って入力した値をいれてっれ中央値を表示させようとしてるんですが、どうやって値をソートすればいいのでしょうか? バブルソート使って、値が入力された時にソートしようとしているのですが、どうしてもできません。よろしくお願いします。
177 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:38:32.35 ] できますよ。
178 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 15:38:37.06 ] >>174 >>175 ありがとうございます。参考になりました。
179 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 16:14:58.06 ] >>176 何ができないのか具体的に書け。 ソース全く出さずに、1から全部書いてもらおうとしているのか?
180 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 16:16:54.64 ] >>179 どう考えても1から全部書いてもらおうとしてると思うけど、どう考えても質問に答えてもらえるとは思えない
181 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 16:18:12.85 ] ここで>>180 を覆す回答者が!CMの後で!
182 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 16:22:42.90 ] , - , -─ - 、 /:::::::::::::::::::::::::::::::::`‐、 /::::::::::::::::::::::::::::::::::::::::::::::\ /::::::::::;:ィ::::::::';:::::::::::`ヽ::::::::::::::ヽ ,'::::::;':::/ l:::i::::::ヽ:::\:::::::';:::::::::::::::', i:::l::::i:/ ';:::';:::::::',\::ヽ:::::::::::☆::: l::l::;イ__, ヽ、ト、::::ヽ、\:',ヽ〃l:::::: >>176 さん ';l l::l ` ‐- l:::::l:::::: こ、ここ、これ読んで下さいっ! l::::l == 、 ,.ィ== l:::::l::::::::: l:::::li //////////// l:::::l:::::::::: , -ーl::::lヽ、 r....::´`ヽ /l:::;'> 、::::: , -ー 、'´`ヽl::::l// ` ‐-r‐ァ' ´ ,':/ー、 '; / , ノ ` l::::l li /ニく /⌒ヽ \.i , └ '´  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / ノ__ ', ,イ: / \ (⌒⌒) , └ '´ / i/ / ヽ / ー ' / /,.イ ∠ __ / / /  ̄ ̄ ̄プ ー r── -------/-‐'´ / | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | | | | /  ̄ ̄ ̄ ̄ /_____ / お断りします / // / ハ,,ハ / / / / ( ゚ω゚ ) / / / / ____ / / / / / / / / / / /
183 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 16:47:33.78 ] #include <stdio.h> #include <time.h> int main(void){ time_t t; time(&t); printf("%s", ctime(&t)); return 0; } を実行したら↓みたいになってエラーがでるんですけどこれはコードをどう直したらよいのでしょうか? ------ ビルド開始: プロジェクト: Test, 構成: Debug Win32 ------ test.c d:\source\vc++\projects\test\test\test.c(7): warning C4996: 'ctime': This function or variable may be unsafe. Consider using ctime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\program files\microsoft visual studio 10.0\vc\include\time.inl(86) : 'ctime' の宣言を確認してください。 Test.vcxproj -> D:\source\vc++\Projects\Test\Debug\Test.exe ========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========
184 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 16:50:33.38 ] >>183 エラーじゃないよ。 警告 ctimeはあぶないのでctime_sを使ったほうがいいです。この警告がうっとうしかったら _CRT_SECURE_NO_WARNINGS を定義してくださいな。 ってかいてる。
185 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 16:57:08.62 ] ありがとうございます 書き方はこんな感じでよいでしょうか? 直すところがございましたらご指摘お願いします #include <stdio.h> #include <time.h> int main(void){ time_t t; char c[26]; time(&t); ctime_s(c,sizeof(c),&t); printf("%s",c); return 0; }
186 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 17:04:07.20 ] ctime_sとかってvisual studioのみでしか使用できないんじゃなかったっけ つまり問題ないから直さなくていいって感じで記憶してるけど 警告がうっとおしいと思うなら_CRT_SECURE_NO_WARNINGSを定義するって感じで
187 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 17:06:45.42 ] 値比較後の要素交換の記述 双方向のリストなら単純にいけそうだけど、単方向リストだと自分の1個前が欲しくなるから面倒 (ex. i番目 j番目の交換が発生 リスト繋ぎ変えでi-1 と j-1 が欲しくなる
188 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 17:10:14.02 ] 他環境に移植できなくするためのMSの罠だよ。
189 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 17:16:22.88 ] visual studioとかvisual C++って無償?
190 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 17:28:03.88 ] ありがとうございます セキュリティーコードということを検索して理解しました メモリが汚れるのはいやなので警告をオフにしたいと思いますが 検索してttp://sunrisebyeast.blogspot.com/2011/07/crtsecurenowarnings.htmlにたどりついたのですが #pragma warning(disable:4996)をtest.cの1行目に書いたんですが警告が消えません 僕が使ってるのはVC++2010なんですが2008念のバージョンじゃないとダメってことですよね? 今VC2008のバージョンがないので探しているのですが見当たらず、2010でも警告を消す方法ってございませんか?
191 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 17:38:12.54 ] すいませんプロパティのプリプロセッサに_CRT_SECURE_NO_WARNINGSを書いたら出来ました ttp://tiano.cocolog-nifty.com/tears_diary/2007/09/vc_2005_6591.htmlを参考にしてできました
192 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 17:51:17.46 ] >>189 無償版もある。てかそれくらいはぐぐってください
193 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 18:07:11.17 ] 実行すると tarou.name = "tarou";の部分で error C2106: '=' : 左のオペランドが、左辺値になっていません。 ってエラーがでます どこが問題でしょうか? #include <stdio.h> struct profile { int age; char name[10]; int sex; }; int main(void){ struct profile tarou; tarou.age = 21; tarou.name = "tarou"; tarou.sex = 0; printf("%d - %c - %d", tarou.age, tarou.name, tarou.sex); }
194 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 18:23:32.71 ] strcpy()使え
195 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 18:37:32.17 ] >>194 strcpy使ったら出来ました なんでstrcpy使わないとだめなのですか?
196 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 18:47:36.17 ] せめて入門書の一冊も読んでからにしてくれないか?
197 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 18:48:31.78 ] struct profile tarou = {21, "tarou", 0}なら出来るとおもう
198 名前:196 mailto:sage [2011/12/26(月) 18:52:20.68 ] 言い過ぎたごめん
199 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 18:53:20.28 ] tarou.nameはポインタだから、そのプログラムだと初期化するかstrcpyするかじゃない ユーザーに入力を促すようなものだとscanfつかって出来る
200 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 18:54:05.41 ] あと%cじゃなくて%sね
201 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 18:57:45.25 ] >>199 勘弁してくれ
202 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:03:04.04 ] ああ、tarou.name[0] = 't';って一つ一つ入力する方法あるか
203 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:10:37.55 ] 初心者スレなのに適当なことばかり。
204 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:11:25.98 ] >>199 tarou.nameは確かにポインタを生み出すコードではあるけれど、tarou.nameは配列と言うべきタイミングだろ。 ということを>>201 が言いたいんだろうので同意。
205 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:15:03.11 ] って置いてけぼりにするところだった。 >>195 一般に、配列(文字列=文字配列)に配列を代入することはできないため。 それをしたい場合は、memcpy、特に文字列をコピーしたい場合にはstrcpyを使う。 初期化の場合は別だし、構造体でラッピングしたものを利用して代入を行うこともできるけれど、それは後から覚えればいい。
206 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:25:01.72 ] リテラルを書き換えられない設計にしてるのがおかしい
207 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:26:59.45 ] × ポインタ ○ ポインター
208 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:28:04.87 ] JISはまだ変わってなかろ。
209 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:34:11.15 ] JASに従えよ。
210 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:37:38.30 ] tarou.nameは配列の先頭要素へのポインタであって配列ではないよね
211 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:43:38.03 ] >>210 構造体のメンバ名だよ。って返せばいいのか?何をしたいのかわからん。
212 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 19:44:41.11 ] struct { char *taro; char hanako[10]; };
213 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 00:50:37.68 ] >>210 tarou.name自体は配列 ポインタとして解釈される場合に配列の先頭要素へのポインタに変換されるだけ sizeof(tarou.name)の結果を考えてみろ
214 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 00:59:09.61 ] そりゃ型が違うだけ。 char[10]型ってことだろ。
215 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 00:59:53.58 ] テトリス作りたいのだが、time関数はいるわけ? テトリスが落ちる時間ってtime関数だよな?
216 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 01:02:19.02 ] mySQLって具体的にどんな用途があるの? 聞いたことあるけどイマイチ利便性が分からない。
217 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 01:09:53.98 ] >>216 データ管理で重宝してる。 機能をCで一から組んだら大変だと思う。
218 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 01:24:24.37 ] >>217 は?ライブラリみたいな?
219 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 01:27:59.19 ] 組み込み用途ならSQLiteのほうが使い勝手はいいよ
220 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 01:40:04.03 ] テレビとかイメージでも会社でパソコン打ってる風景って良く見るけど、 あいつらってプログラム組んでるの?何してんだろ。
221 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 01:46:26.97 ] パソコン使う仕事って全部プログラミング?
222 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 02:07:02.67 ] プログラマ以外でずっとパソコンに向かってる仕事ってデザイナーとかCADとかのイメージがあるな
223 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 02:10:32.94 ] 経理とか総務とかは思い浮かばないの?
224 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 02:14:45.19 ] 丸一日向かい合うほど経理するとは想像できなくて
225 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 02:24:49.58 ] ホワイトカラーなら、今時はどんな職種でもPCに向かって仕事すんじゃねーの?
226 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 02:30:36.14 ] 何をするのかがわからんってのに、向かうだろって言われてもなぁ。 ホワイトカラーでPCに向かわない職種なんてくさるほどあるし…
227 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 02:48:20.41 ] 仕事せずに、サーフィンしてるのかもしれない
228 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 02:52:21.78 ] 天皇さまですらPC使ってるのに
229 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 05:21:29.11 ] 明らかにキーボードだけをカタカタカタカタしてるよな。 テンキーもマウスも使う素振りもない。
230 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 05:54:32.60 ] 日がな一日書類を書いていたら殆どマウスに触る必要もないが、 一般事務職でそこまでショートカットに精通している奴は少ないと思う。
231 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 06:00:14.70 ] それはそうと、pthreadを使ったスレッドプールの手頃なサンプルないかな。 pthread_cond_wait()が意外に使い難くて参った。
232 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 06:48:49.97 ] 引きこもりが熱く語る「僕の考えるパソコンを使った事務仕事」とか笑えるわ
233 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 07:17:16.15 ] >>232 >230のことを言っているなら、それを書いたのは会社員の私だ。
234 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 09:13:32.51 ] >>231 www.google.co.jp/search?q=pthread_cond_wait+%E4%BD%BF%E3%81%84%E6%96%B9
235 名前:231 mailto:sage [2011/12/27(火) 09:34:21.72 ] >>234 それで見つかるところは大抵最低限の使い方だけなんだよね。 この板のマルチスレッドのスレでも同じように梃子摺っている質問は幾つか見つかるのに、 具体的な回答が見つからないし。
236 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 13:10:19.29 ] 具体的に何をしようとしてどうなったか書いてないと答えようがなくね?
237 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 15:56:47.40 ] >>215 clock()のほうが良いと思いmath
238 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 15:58:54.71 ] clock は精度が秒の環境もあるぞ。
239 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 16:53:33.36 ] WindowsならtimeGetTime()かQueryPerformanceCounter()を使うしな time()はかなり機種依存的性格を持っている
240 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 16:57:23.48 ] DOSの時は走査線待ち。
241 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 18:31:40.69 ] ヒープソートを書いたのですが codepad.org/gQnTXtfr 最後の20 10が整頓されません どうすれば昇順になるのか教えてください
242 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 18:48:08.47 ] 自己解決しました for(i=N; i>2; i--)あるべきでした
243 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 19:11:58.83 ] C言語でこのスレに書き込めるプログラム教えてください
244 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 20:34:02.21 ] 平松邦夫/民主党 大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ ・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞 ・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派 VS 橋下徹/維新の会 大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫 様子見:公明
245 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 00:50:51.04 ] >243 ttp://www23.atwiki.jp/psp_2ch/ 適当に選べ。
246 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 10:17:50.61 ] Windowsでコンソールプログラムで右下にバルーンを表示させたいのですが それだけのシンプルなほどシンプルな本当に登竜門なサンプルで公開してるページありませんか?
247 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 12:01:39.93 ] つくってみよう−タスクトレイアプリケーションの作成 ttp://www.alpha-net.ne.jp/users2/uk413/vc/VCT_TaskTray.html
248 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 12:06:02.01 ] ダブルポインターのコピーについての質問です。 二次元配列の文字列をコピーしたいのですが、コピー元の二次元配列は ヒープメモリの確保が必要になりますが、コピー先のメモリも動的に確保しようと コメントアウトの部分を外すと、メモリエラー(ヒープの破壊)が起こりますが、 コメントアウトした状態の実装で、メモリの使い方は間違っていないでしょうか? #include <stdio.h> #include <stdlib.h> char **getString(); char **strSrc; int main() { char **strDst; // コピーされる側はヒープメモリの確保は必要ないのか? //strDst = (char **)malloc( sizeof(char * ) * 2 ) ; strDst = getString(); printf("%s\n", strDst[0]); printf("%s\n", strDst[1]); free( strSrc ); //確保していないので、解放は当然不要なわけであるが・・・・ //free( strDst); return 0; } char **getString() { strSrc = (char **)malloc( sizeof(char * ) * 2 ); strSrc[0] = "ABCD"; strSrc[1] = "1234"; return strSrc; }
249 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 12:08:45.08 ] >>246 NOTIFYICONDATA NIF_INFO でぐぐれ
250 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 12:15:53.20 ] 再帰って関数内が終わったら自動でreturnされるの? codepad.org/dAqEkNzj このコードみたんだけど HeapSortの中に--reetcountってあるけど 関数の最後でreturnが自動で呼ばれてるんですか?
251 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 12:19:28.01 ] そう。
252 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 12:23:26.60 ] この場合戻り値がvoidなんですが returnっていうより 最初の if (left >= right) { --reentcount; return; } で条件に引っかからず一番したの処理まできたら 自動で前の処理の再帰に戻すってこと? returnって書けば戻るんだけど 終了には--reetcount(カウント数)だけだよね 自動で前の再帰に戻るの?