C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
前
C言語なら俺に聞け 144
https://mevius.5ch.net/test/read.cgi/tech/1514025223/
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
-
※前スレ
C言語なら俺に聞け 145
http://mevius.5ch.net/test/read.cgi/tech/1519046038/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 146
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 839f-AnMQ)
2018/04/30(月) 04:47:37.50ID:XX4FB8lc0 >>350
まず集合の要素を何にするか?
集合自体の表現をどうするか?
そこからスタートするべきだと思います
C++ https://mevius.5ch.net/test/read.cgi/tech/1434079972/33
まず集合の要素を何にするか?
集合自体の表現をどうするか?
そこからスタートするべきだと思います
C++ https://mevius.5ch.net/test/read.cgi/tech/1434079972/33
352デフォルトの名無しさん (ワッチョイ 6680-2/B2)
2018/07/15(日) 18:24:43.00ID:yiVegLeV0 C++ちゃうやろ
353さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ b5b3-gHxb)
2018/07/15(日) 18:43:53.92ID:wAtjArzX0 C++のstd::setを参考にしない手はないな。
集合をデータとして保持したいなら、要素の個数と、動的配列かリストが必要になる。
集合をデータとして保持したいなら、要素の個数と、動的配列かリストが必要になる。
354さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd0a-gHxb)
2018/07/15(日) 18:50:09.68ID:uEXuZg9md 集合は順序列の順序を無視したものと考えられる。
比較する場合は、ソート済みにしてから比較する必要がある。
多重集合ではない場合は変更の際に要素を単一化しないといけない。
比較する場合は、ソート済みにしてから比較する必要がある。
多重集合ではない場合は変更の際に要素を単一化しないといけない。
355デフォルトの名無しさん (ブーイモ MM8e-4qXr)
2018/07/15(日) 18:57:55.11ID:chucpUaPM setは赤黒木だけど、実装したことある奴いるの?俺はaddだけ実装して満足して諦めたよ。
hashtableのほうが遥かに簡単だからオススメ。
整列済みの配列も簡単でいいと思うよ。
でも一番楽なのは、ライブラリを拾ってくること。
hashtableのほうが遥かに簡単だからオススメ。
整列済みの配列も簡単でいいと思うよ。
でも一番楽なのは、ライブラリを拾ってくること。
356さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd0a-gHxb)
2018/07/15(日) 20:00:12.79ID:uEXuZg9md std::unordered_set
357デフォルトの名無しさん (スップ Sd0a-Se03)
2018/07/15(日) 23:33:22.03ID:ugn7dRUid >>350
積集合の方が比較的簡単
和集合は同一要素であるかをどうやって判別するか
要素を構造体で表した時に
異なる構造体でも同一要素である判別が出来なくてはならないので
単純な例だと
複素数型と実数型と有理数型とcharとintとfloatとdoubleとか
積集合の方が比較的簡単
和集合は同一要素であるかをどうやって判別するか
要素を構造体で表した時に
異なる構造体でも同一要素である判別が出来なくてはならないので
単純な例だと
複素数型と実数型と有理数型とcharとintとfloatとdoubleとか
358デフォルトの名無しさん (ワッチョイ 6680-2/B2)
2018/07/15(日) 23:57:35.35ID:yiVegLeV0359デフォルトの名無しさん (スップ Sd0a-Se03)
2018/07/15(日) 23:59:45.37ID:ugn7dRUid >>358
ああ、直積と勘違いした
ああ、直積と勘違いした
360デフォルトの名無しさん (スップ Sd0a-Se03)
2018/07/16(月) 00:10:17.99ID:RYaEyvned361デフォルトの名無しさん (ワッチョイ 6680-2/B2)
2018/07/16(月) 00:41:17.49ID:JxE01Fj60 一般論で言えば、集合の実装はハッシュを実装することに限りなく等しい。
どんなオブジェクトであれ、シリアライズ(要は文字列化)できる。
そうすればハッシュで一意な比較的小さい非負整数の番号に写像できる。(←条件により、ここが難関になりうる。ハッシュを使わずに済む番号が用意されていればそれが最適)
逆写像も用意できる。
最大番号までの要素数を持つ整数配列で0/1で要素の有無を表現したものが一つの集合を表す。
2つの集合の和と積は0/1の|と&で表せる。
配列サイズと計算時間の節約にはビットマップ化すればok。
どんなオブジェクトであれ、シリアライズ(要は文字列化)できる。
そうすればハッシュで一意な比較的小さい非負整数の番号に写像できる。(←条件により、ここが難関になりうる。ハッシュを使わずに済む番号が用意されていればそれが最適)
逆写像も用意できる。
最大番号までの要素数を持つ整数配列で0/1で要素の有無を表現したものが一つの集合を表す。
2つの集合の和と積は0/1の|と&で表せる。
配列サイズと計算時間の節約にはビットマップ化すればok。
362デフォルトの名無しさん (スップ Sd0a-Se03)
2018/07/16(月) 12:41:40.20ID:JYSC+BEod 視野の狭いアホ
364デフォルトの名無しさん (ワッチョイ 59bd-4qXr)
2018/07/16(月) 13:45:32.02ID:GVNh7z7o0 ハッシュの逆写像て何よ
365デフォルトの名無しさん (ワッチョイ 6680-2/B2)
2018/07/16(月) 15:04:36.42ID:JxE01Fj60366デフォルトの名無しさん (ワッチョイ 6d9f-kMqh)
2018/07/16(月) 16:32:35.47ID:ZuNymA1O0 >>350
ビット演算使えば良いのでは?
特に要素数が32とか64以下に収まるようなら今どきのPC用コンパイラならunsgnedのintやlongで行けるよ。
uint32tみたいなビット数保証するtypedefされた型使った方が良いけどね。
ビット演算使えば良いのでは?
特に要素数が32とか64以下に収まるようなら今どきのPC用コンパイラならunsgnedのintやlongで行けるよ。
uint32tみたいなビット数保証するtypedefされた型使った方が良いけどね。
367デフォルトの名無しさん (スッップ Sd0a-Se03)
2018/07/16(月) 16:42:31.55ID:fNWu8+xrd368デフォルトの名無しさん (ワッチョイ 59bd-jpfL)
2018/07/16(月) 16:58:23.91ID:GVNh7z7o0369デフォルトの名無しさん (スッップ Sd0a-Se03)
2018/07/16(月) 17:09:01.83ID:fNWu8+xrd 全順序化が簡単か
効率的なハッシュが(簡単に)作れるか
想定する集合の大きさ
比較のコスト
ノードのデータサイズ
この辺が違うと適した実装が全く異なる
この辺をヒアリングするのが先と思う
効率的なハッシュが(簡単に)作れるか
想定する集合の大きさ
比較のコスト
ノードのデータサイズ
この辺が違うと適した実装が全く異なる
この辺をヒアリングするのが先と思う
370デフォルトの名無しさん (ブーイモ MM0a-2/B2)
2018/07/16(月) 20:33:05.89ID:xLJ3m8O+M371デフォルトの名無しさん (ブーイモ MM0a-2/B2)
2018/07/16(月) 20:35:21.92ID:xLJ3m8O+M372デフォルトの名無しさん (ワッチョイ 59bd-4qXr)
2018/07/16(月) 21:05:16.49ID:GVNh7z7o0373デフォルトの名無しさん (ワッチョイ eab3-ziCw)
2018/07/16(月) 21:29:45.38ID:XBIjWYki0374デフォルトの名無しさん (ブーイモ MMc9-W33Q)
2018/07/16(月) 21:50:26.80ID:sxU6ARMDM375デフォルトの名無しさん (ブーイモ MM81-4qXr)
2018/07/16(月) 21:56:55.25ID:r56ZRtuEM c++のmapとsetの実装アルゴリズムだぜ。
検索速度はハッシュテーブルに劣るけど、使えないほど遅いってことはないだろ。
検索速度はハッシュテーブルに劣るけど、使えないほど遅いってことはないだろ。
376デフォルトの名無しさん (ワッチョイ 753c-L1xz)
2018/07/16(月) 22:18:00.48ID:d44IRZCy0 C言語初心者です。
typedef struct{
int tate;
int yoko;
double *mat;
} Mat;
void read(int x,int y,Mat *a){
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
printf("[%d][%d]->",i+1,j+1);
scanf("%lf",&a->mat[i][j]);
}
printf("\n");
}
return;
}
プログラムの一部を抜粋したものなのですが、これでコンパイルすると
subscripted value is neither array nor pointer
というエラーが出てしまいます。
二次元配列はポインタで表せないものなのでしょうか?
typedef struct{
int tate;
int yoko;
double *mat;
} Mat;
void read(int x,int y,Mat *a){
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
printf("[%d][%d]->",i+1,j+1);
scanf("%lf",&a->mat[i][j]);
}
printf("\n");
}
return;
}
プログラムの一部を抜粋したものなのですが、これでコンパイルすると
subscripted value is neither array nor pointer
というエラーが出てしまいます。
二次元配列はポインタで表せないものなのでしょうか?
377デフォルトの名無しさん (ワッチョイ 753c-L1xz)
2018/07/16(月) 22:23:31.47ID:d44IRZCy0 sageをつけ忘れました
申し訳ございません。
申し訳ございません。
378デフォルトの名無しさん (ワッチョイ 59e3-Y8gp)
2018/07/16(月) 22:43:27.11ID:BgE9oE4s0379デフォルトの名無しさん (ワッチョイ 59bd-4qXr)
2018/07/16(月) 23:01:36.27ID:GVNh7z7o0 >>376
matがdouble型へのポインタだからだよ。
結果mat[i]はdouble型になり、mat[i][j]はdouble型に[j]を付けたことになるので、配列でもポインタでもないのに[]つけるなって怒られてる。
きっとmatのメモリ確保は
mat = malloc(sizeof(double) * tate * yoko);
みたいにやってるだろうから、i列j行目にアクセスするときは
&a->mat[i + j * yoko]
みたいにしないといけない。
あと、上の例ならjを外側、iを内側のforにしたほうが最適化されやすいと思うよ
matがdouble型へのポインタだからだよ。
結果mat[i]はdouble型になり、mat[i][j]はdouble型に[j]を付けたことになるので、配列でもポインタでもないのに[]つけるなって怒られてる。
きっとmatのメモリ確保は
mat = malloc(sizeof(double) * tate * yoko);
みたいにやってるだろうから、i列j行目にアクセスするときは
&a->mat[i + j * yoko]
みたいにしないといけない。
あと、上の例ならjを外側、iを内側のforにしたほうが最適化されやすいと思うよ
380デフォルトの名無しさん (ブーイモ MMc9-W33Q)
2018/07/17(火) 00:14:58.01ID:TUtIYHCtM381デフォルトの名無しさん (ワッチョイ 753c-L1xz)
2018/07/17(火) 00:50:16.45ID:j9lU977L0382デフォルトの名無しさん (ワッチョイ 59bd-4qXr)
2018/07/17(火) 01:14:22.91ID:ZzFa01D50383デフォルトの名無しさん (ワッチョイ 119e-dYrz)
2018/07/17(火) 03:42:30.44ID:ZJqMOJYT0 Ruby のハッシュでは、データ数と共に、バケット数を増やしていく。
バケット数は、2 の累乗の次に現れる素数。
2^n + a, 2 <= n <= 30
8 + 3 = 11
16 + 3 = 19
32 + 5 = 37
64 + 3 = 67
128 + 3 = 131
256 + 27 = 283
512 + 9 = 521
データ数が、バケット数の5倍を超えると、ハッシュが再構成される。
再構成時には、極端に遅くなる
11 * 5 = 55 だから、データ数が56 個になると、バケット数が19 になる。
19 * 5 = 95 だから、データ数が96 個になると、バケット数が37 になる
バケット数は、2 の累乗の次に現れる素数。
2^n + a, 2 <= n <= 30
8 + 3 = 11
16 + 3 = 19
32 + 5 = 37
64 + 3 = 67
128 + 3 = 131
256 + 27 = 283
512 + 9 = 521
データ数が、バケット数の5倍を超えると、ハッシュが再構成される。
再構成時には、極端に遅くなる
11 * 5 = 55 だから、データ数が56 個になると、バケット数が19 になる。
19 * 5 = 95 だから、データ数が96 個になると、バケット数が37 になる
384デフォルトの名無しさん (ワッチョイ 119e-dYrz)
2018/07/17(火) 04:09:19.94ID:ZJqMOJYT0 AVL では、左右部分木の高さの差を、1 以内にしなければならないから、
2 になると、木の回転・縮約など、再構成をしなければならない。
つまり、しょっちゅう再構成が起こるので、遅くなる
赤黒木では、左右部分木の高さの差を2 倍以内にしたから、再構成が起こりにくい。
左が10 なら、右は20 まで、再構成が起こらない
タスクスケジューラーに使われる
例えば、100個のスリープしているタスクがある所に、
木に実行するタスクを追加して、重みに従ってソートすると、
追加したタスクが選ばれて、木から削除される
つまり、ほとんどの葉の順位が変わらなくて、
追加した葉が、すぐに削除されるようなものに適している
2 になると、木の回転・縮約など、再構成をしなければならない。
つまり、しょっちゅう再構成が起こるので、遅くなる
赤黒木では、左右部分木の高さの差を2 倍以内にしたから、再構成が起こりにくい。
左が10 なら、右は20 まで、再構成が起こらない
タスクスケジューラーに使われる
例えば、100個のスリープしているタスクがある所に、
木に実行するタスクを追加して、重みに従ってソートすると、
追加したタスクが選ばれて、木から削除される
つまり、ほとんどの葉の順位が変わらなくて、
追加した葉が、すぐに削除されるようなものに適している
385デフォルトの名無しさん (ワッチョイ 753c-KCFg)
2018/07/17(火) 21:50:50.91ID:j9lU977L0 makefileってPowerShellで作れないとかないですか?
386デフォルトの名無しさん (アウアウカー Sa55-jzog)
2018/07/18(水) 13:02:52.94ID:9IEVAZpRa >>385
君が何を言わんとしているのかがよくわからない
君が何を言わんとしているのかがよくわからない
387デフォルトの名無しさん (スップ Sd0a-Se03)
2018/07/18(水) 13:22:02.69ID:OuA1chkMd わからないならかくなあほ
388デフォルトの名無しさん (アウアウカー Sa55-jzog)
2018/07/18(水) 13:27:22.37ID:9IEVAZpRa >>387
あれで人に言葉が通じていると思い込んでる可能性があるから書くべきだろう
あれで人に言葉が通じていると思い込んでる可能性があるから書くべきだろう
389デフォルトの名無しさん (ワッチョイ b623-LQig)
2018/07/18(水) 15:13:21.80ID:rBfwKW3R0 >>385
作れますよ
作れますよ
390デフォルトの名無しさん (ワッチョイ 1793-pJKM)
2018/07/22(日) 17:00:55.76ID:QT86rkZL0 なんとなく、コマンド行をタブで始めてなくて(スペースで空白を作ってて)、
makeがエラー出してるような気がするなぁ。
エディタのTab→スペース自動変換が効いてるとか。
PowerShellとは直接関係なくて。
makeがエラー出してるような気がするなぁ。
エディタのTab→スペース自動変換が効いてるとか。
PowerShellとは直接関係なくて。
391デフォルトの名無しさん (ワッチョイ 9fd2-pvuh)
2018/07/23(月) 07:43:37.05ID:4YnpLRT90 C++ C言語 C#の初心者用スレはないんですか?
探してみたけどそれらしきスレが見当たらないです
探してみたけどそれらしきスレが見当たらないです
392デフォルトの名無しさん (ブーイモ MM7b-v52Z)
2018/07/23(月) 08:25:03.57ID:XREcIsoOM >>391
まずはどうやって探したのか聞こうか
まずはどうやって探したのか聞こうか
393デフォルトの名無しさん (ワッチョイ 9fd2-pvuh)
2018/07/23(月) 18:37:31.75ID:4YnpLRT90 >>392
まずスレッド一覧を開いてCTRL+FでC++と入れて検索しました
一応それらしき所を見つけたんですが書き込んだ瞬間変なおっさんに噛みつかれたので
初心者スレじゃないのかな。。。と。
入門にあったスレはないでしょうか
まずスレッド一覧を開いてCTRL+FでC++と入れて検索しました
一応それらしき所を見つけたんですが書き込んだ瞬間変なおっさんに噛みつかれたので
初心者スレじゃないのかな。。。と。
入門にあったスレはないでしょうか
394デフォルトの名無しさん (ワッチョイ 979f-lcCj)
2018/07/24(火) 00:16:29.41ID:jxAZ77iY0 無ければ作ったら良い
395デフォルトの名無しさん (ブーイモ MM7b-GemW)
2018/07/24(火) 00:25:40.41ID:WnIMuw3FM 初心者歓迎なのと甘えた初心者に手とり足とり教えるのとは違うよ
396デフォルトの名無しさん (スップ Sd3f-3g7x)
2018/07/24(火) 10:50:38.33ID:0p5SDr2Gd 回答者も甘えてる奴がほとんどだしな
397デフォルトの名無しさん (ドコグロ MM1b-+6on)
2018/07/24(火) 12:49:34.60ID:AIbS+cPKM 初心者といいつつそれ以前だったりするから
398デフォルトの名無しさん (スップ Sdbf-o8G/)
2018/07/24(火) 12:52:10.55ID:jy7p1ZdAd 回答する気が無いヤツは黙ってろ
目障り
目障り
399デフォルトの名無しさん (バッミングク MM1b-XsrH)
2018/07/24(火) 22:27:17.58ID:yuwuYFDqM400デフォルトの名無しさん (ワッチョイ 1750-o8G/)
2018/07/24(火) 22:55:24.02ID:0yPjFIBM0 回答する気が無いヤツは黙ってろ
目障り
目障り
401デフォルトの名無しさん (ワッチョイ 57d2-x5/2)
2018/07/25(水) 14:04:28.05ID:rhtXSHsm0 明解C言語は分かりにくいからやめとけ
苦Cの方がいい
苦Cの方がいい
402デフォルトの名無しさん (アウアウカー Saab-GY9v)
2018/07/25(水) 15:50:06.17ID:rOB4O81ba 明解と
書いてる方が
不明解
書いてる方が
不明解
403デフォルトの名無しさん (ブーイモ MMbf-4pMd)
2018/07/25(水) 18:17:36.85ID:LRuCLCqQM 今からC言語覚えて何に使うの?
404デフォルトの名無しさん (ブーイモ MMcf-6yTM)
2018/07/25(水) 18:38:39.52ID:ru0lrBQYM デバドラを書く
低速言語のボトルネックをカバーする
低速言語のボトルネックをカバーする
405デフォルトの名無しさん (スプッッ Sd3f-MwhK)
2018/07/25(水) 19:01:18.88ID:WBw1LCSkd こういう連続線をクリックで描きたいなんか参考になる本だとかサイトってありませんか?
https://i.imgur.com/Emj85bk.jpg
https://i.imgur.com/Emj85bk.jpg
406デフォルトの名無しさん (ワッチョイ 3781-H0hI)
2018/07/25(水) 19:07:02.74ID:h5CHP+XR0 >>405
それをCで書こうって考えている?
それをCで書こうって考えている?
407デフォルトの名無しさん (ワッチョイ 1750-o8G/)
2018/07/25(水) 19:11:06.73ID:WkyhwwwQ0408デフォルトの名無しさん (アウアウカー Saab-GY9v)
2018/07/25(水) 19:19:25.92ID:ekeRKo17a409デフォルトの名無しさん (ワッチョイ d7bb-4GkJ)
2018/07/25(水) 20:53:24.83ID:IVngiw360410デフォルトの名無しさん (ワッチョイ d7bb-4GkJ)
2018/07/25(水) 20:53:47.05ID:IVngiw360 大規模は違うの?って意味ね
411デフォルトの名無しさん (ワッチョイ 77bb-H0hI)
2018/07/25(水) 20:57:49.18ID:E4aNPZoQ0 まずint(4バイトとする)とmalloc(4)の違い教えて
話しはそれからだ
話しはそれからだ
412さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdbf-jdi9)
2018/07/25(水) 21:01:13.33ID:Gtkf0v1Td >>411
mallocは使い終わったらfreeで解放しないといけない。
mallocは使い終わったらfreeで解放しないといけない。
413デフォルトの名無しさん (ワッチョイ 578a-x2Yj)
2018/07/25(水) 21:02:09.90ID:DGkeAJEO0 Windows Win32 GDIで作ってみた
中身はいい加減だけど、マウスのボタンクリックイベントでポインタ座標を取得して順に直線で繋げているだけ
http://codepad.org/QqqOuloX
https://i.imgur.com/J8woM1h.png
中身はいい加減だけど、マウスのボタンクリックイベントでポインタ座標を取得して順に直線で繋げているだけ
http://codepad.org/QqqOuloX
https://i.imgur.com/J8woM1h.png
414さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdbf-jdi9)
2018/07/25(水) 21:04:29.51ID:Gtkf0v1Td 101回目のバッファオーバーフロー?
415デフォルトの名無しさん (ワッチョイ 578a-x2Yj)
2018/07/25(水) 21:09:14.98ID:DGkeAJEO0 エラー処理なし
ウインドウハンドラ作成もメッセージループの処理も適当なのでプロシージャもいい加減な作り
ウインドウハンドラ作成もメッセージループの処理も適当なのでプロシージャもいい加減な作り
416デフォルトの名無しさん (ワッチョイ 77bb-H0hI)
2018/07/25(水) 21:13:14.68ID:E4aNPZoQ0 俺の言い方がまずかったようだ。
int* a = (int*)malloc(4);
これはわかる
int* a = (int*)malloc(5);
この場合でもコンパイルは通るし実行も出来る。
でも、やっていいことなんだろうかってね。
余った1バイトは気にしないでいいのだろうか?
int* a = (int*)malloc(4);
これはわかる
int* a = (int*)malloc(5);
この場合でもコンパイルは通るし実行も出来る。
でも、やっていいことなんだろうかってね。
余った1バイトは気にしないでいいのだろうか?
417さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdbf-jdi9)
2018/07/25(水) 21:18:04.56ID:Gtkf0v1Td >>416
余分に確保しても大丈夫。連続したメモリーブロックと呼ばれるものだよ。頭に構造体を使ってもいいし。
余分に確保しても大丈夫。連続したメモリーブロックと呼ばれるものだよ。頭に構造体を使ってもいいし。
418さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdbf-jdi9)
2018/07/25(水) 21:21:01.07ID:Gtkf0v1Td 例えば、int *p = (int*)malloc(5*sizeof(int));と書けば、pは、int p[5];のように使える。
419デフォルトの名無しさん (ワッチョイ 77bb-H0hI)
2018/07/25(水) 21:24:03.17ID:E4aNPZoQ0420さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdbf-jdi9)
2018/07/25(水) 21:29:51.06ID:Gtkf0v1Td 連続したメモリーブロックからはみ出るから、そのアクセスは違法になるね。
421デフォルトの名無しさん (ワッチョイ 77bb-H0hI)
2018/07/25(水) 21:32:51.80ID:E4aNPZoQ0 ああ、なるほど。そういう時はエラー出るのね。
今試しにインクリメントしたら確かにエラーになった。なるほど良く出来てる。
なんか試すのも怖かったんだわ。ありがとう!
今試しにインクリメントしたら確かにエラーになった。なるほど良く出来てる。
なんか試すのも怖かったんだわ。ありがとう!
422デフォルトの名無しさん (JP 0H2b-GemW)
2018/07/25(水) 21:33:37.75ID:kwDgMq/WH423デフォルトの名無しさん (ワッチョイ 77bb-H0hI)
2018/07/25(水) 21:36:12.00ID:E4aNPZoQ0424さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdbf-jdi9)
2018/07/25(水) 21:36:50.93ID:Gtkf0v1Td ただし、アクセスにおいてエラーが出ない事もあり、この手のバクはやっかいで、下手をすると数億円が吹き飛ぶことがある。
だから、最近ではなるべく生ポインタを使わないでやるのがプロ。
だから、最近ではなるべく生ポインタを使わないでやるのがプロ。
425さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdbf-jdi9)
2018/07/25(水) 21:39:44.99ID:Gtkf0v1Td アクセス制御の貧弱なOSでは、不正アクセスは感知されない。
426デフォルトの名無しさん (ワッチョイ 1750-o8G/)
2018/07/25(水) 21:55:12.69ID:WkyhwwwQ0 >>409
大規模はC++の率が高くなる
大規模はC++の率が高くなる
427デフォルトの名無しさん (ワッチョイ 9f9b-MwhK)
2018/07/25(水) 21:56:03.32ID:LjfK0h7i0428デフォルトの名無しさん (ワッチョイ 9f9b-MwhK)
2018/07/25(水) 21:57:27.86ID:LjfK0h7i0 >>413
すげぇ。わざわざありがとうございます。
すげぇ。わざわざありがとうございます。
429デフォルトの名無しさん (ブーイモ MMbf-2nOz)
2018/07/25(水) 23:13:13.16ID:99/tYlRKM >>421
一般にエラーは出ないぞ
一般にエラーは出ないぞ
430デフォルトの名無しさん (アークセー Sx4b-ArLl)
2018/07/25(水) 23:32:18.85ID:RmE/AZ04x431デフォルトの名無しさん (アークセー Sx4b-ArLl)
2018/07/25(水) 23:53:34.35ID:RmE/AZ04x >>430
430ですが、mallocの返す番地は、大概の型にキャストできる境界になってるんだろうね、知らんけど
430ですが、mallocの返す番地は、大概の型にキャストできる境界になってるんだろうね、知らんけど
432デフォルトの名無しさん (ワッチョイ 2361-2QVD)
2018/07/26(木) 11:01:17.82ID:Oz5vlcaw0 C11はアラインメントが決めれるmallocがあるよ
普通は8の倍数になってる。
普通は8の倍数になってる。
433デフォルトの名無しさん (アウアウカー Saef-2Ess)
2018/07/26(木) 12:52:49.36ID:EM3EzxKLa ま、しかし、intが4バイトの保証はないし、malloc()で確保した範囲外がどうなってるかもライブラリ依存だし、変な事に挑戦しない方が良いと思うw
434デフォルトの名無しさん (ワッチョイ c623-53i4)
2018/07/26(木) 15:59:28.57ID:VR2PsH3f0 mallocの返すアドレスはワード教会に揃ってるように
POSIXで決まってなかったっけ? 気のせいか
POSIXで決まってなかったっけ? 気のせいか
435デフォルトの名無しさん (JP 0H8f-+hvm)
2018/07/26(木) 16:54:25.22ID:ixC9BcxzH >>432
aligned_alloc()だね
aligned_alloc()だね
436デフォルトの名無しさん (スップ Sd52-fKXU)
2018/07/26(木) 17:01:26.31ID:Vf/lMr8pd >>434
決まってる
決まってる
437デフォルトの名無しさん (JP 0H8f-J6FL)
2018/07/26(木) 17:03:12.87ID:0PbkpRUpH C99には
The pointer returned if the allocation succeeds is suitably aligned
so that it may be assigned to a pointer to any type of object and
then used to access such an object or an array of such objects
in the space allocated (until the space is explicitly deallocated).
とあるので、どんなオブジェクトでもその場所に置けることは保証されている。
ただ、アラインメントがずれてるとアクセスできるけど遅くなるとかいう
変態環境でどうなるかとかは規定されていない。
(ふつうの実装ならまともにアラインメントされていると思うが)
これをどうしても合法的に確実にアラインメントしたい人向けなのが、aligned_alloc()。
The pointer returned if the allocation succeeds is suitably aligned
so that it may be assigned to a pointer to any type of object and
then used to access such an object or an array of such objects
in the space allocated (until the space is explicitly deallocated).
とあるので、どんなオブジェクトでもその場所に置けることは保証されている。
ただ、アラインメントがずれてるとアクセスできるけど遅くなるとかいう
変態環境でどうなるかとかは規定されていない。
(ふつうの実装ならまともにアラインメントされていると思うが)
これをどうしても合法的に確実にアラインメントしたい人向けなのが、aligned_alloc()。
438デフォルトの名無しさん (ワッチョイ c623-53i4)
2018/07/26(木) 17:08:47.42ID:VR2PsH3f0439デフォルトの名無しさん (JP 0H8f-J6FL)
2018/07/26(木) 17:17:59.96ID:0PbkpRUpH >>438
そりゃもちろんそういう用途にも使えるよ
そりゃもちろんそういう用途にも使えるよ
440デフォルトの名無しさん (スップ Sd52-fKXU)
2018/07/26(木) 19:04:38.15ID:Vf/lMr8pd441デフォルトの名無しさん (スップ Sd52-fKXU)
2018/07/26(木) 19:07:36.39ID:Vf/lMr8pd442デフォルトの名無しさん (ワッチョイ 4bb3-hins)
2018/07/27(金) 00:14:41.96ID:J2z2B0JS0 家でC言語の独学してたけど眠くなって続かないから週末だけ学校にいこうと思う。関西でお勧めはどこですか?
443デフォルトの名無しさん (フリッテル MM6e-qjVX)
2018/07/27(金) 07:12:56.09ID:GxaYOivnM 金の無駄遣い
444デフォルトの名無しさん (スッップ Sd32-dAIm)
2018/07/27(金) 09:20:14.17ID:UMN2C6wAd 大阪大学基礎工学部情報科学科
445デフォルトの名無しさん (ブーイモ MM5b-d/YJ)
2018/07/27(金) 09:52:20.15ID:mngCBxZNM 勉強を成功させるには強い動機付けが必要
やる気も効率も上がらないのはまずそこに失敗してる
やる気も効率も上がらないのはまずそこに失敗してる
447デフォルトの名無しさん (ブーイモ MM32-cF50)
2018/07/27(金) 21:04:40.28ID:Gi4wb1wwM 個人的にはLinuxのデバドラから入るのがおすすめ
分かってくると俺の方が上手く書けるとか拗らせる
分かってくると俺の方が上手く書けるとか拗らせる
448デフォルトの名無しさん (ワッチョイ 6f9f-YSnv)
2018/07/28(土) 02:43:37.63ID:E0E9ZkiG0 動機を自分で意識的に付けようとしても中々出来ないのが普通なのでは?
何かそれなりのメリットがあると信じられないと何もしないのが普通の人間だろうし。
例えば何かをするとモテモテになるだとか、そういう自分にとってのメリットがあるならその何かをやる気は出るだろうけど、そんなのがないなら、あるいはもしあってもそれに気付けないなら普通はやる気は起きんでしょう。
何かそれなりのメリットがあると信じられないと何もしないのが普通の人間だろうし。
例えば何かをするとモテモテになるだとか、そういう自分にとってのメリットがあるならその何かをやる気は出るだろうけど、そんなのがないなら、あるいはもしあってもそれに気付けないなら普通はやる気は起きんでしょう。
449デフォルトの名無しさん (ワッチョイ 6f06-h18z)
2018/07/28(土) 07:47:22.78ID:CM3Pz0hR0 C言語、あるいはプログラムそのものの入門書で、文庫か新書サイズの良書はありますか?
450デフォルトの名無しさん (ワッチョイ 6f40-53i4)
2018/07/28(土) 08:07:15.42ID:xtvz/nLF0 C++ならこれならわかるC++があるが・・・
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- 高市が早くあの発言を撤回しないと、中国からもっと大きな制裁が飛んでくるぞ [805596214]
- 【動画】ファッションモデルまんこ、裸でランウェイを歩く。これがファッションだと言われて [749674962]
- 【画像】髙市さん「無職のシンママ支援を手厚くするため、世帯年収900万円以上の控除をカットします🙂」 [881878332]
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
