C言語なら俺に聞け 143

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b375-rVGZ)
垢版 |
2017/10/27(金) 21:28:08.20ID:pAogLeJi0
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言語なら俺に聞け 142
http://mevius.2ch.net/test/read.cgi/tech/1502364083/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/12/09(土) 19:31:17.31ID:nSkNRr7y0
n個の中から1つ選ぶ。
n-1個の中から1つ選ぶ。
n-2個の中から1つ選ぶ。
。。。
2017/12/09(土) 19:31:57.38ID:nSkNRr7y0
選んだものには印を付ける。
2017/12/09(土) 19:36:25.25ID:nZ8OLT0i0
配列に連番で入れて
配列をシャッフルして
配列の先頭から4個抜きとる

お手元のトランプで試してみろよ
絶対に重複しないから
774デフォルトの名無しさん (ワッチョイ 17b3-0+aW)
垢版 |
2017/12/09(土) 19:38:14.85ID:f1LM7KYB0
とりあえず異なる4つの数を作りたいって言ったけど最終目標がHit&Blowだからマクロについて学んでくる
775デフォルトの名無しさん (ワッチョイ 17b3-0+aW)
垢版 |
2017/12/09(土) 19:39:02.99ID:f1LM7KYB0
あっスマホとPCでID変わるんだった
776デフォルトの名無しさん (ワッチョイ 17b3-0+aW)
垢版 |
2017/12/09(土) 19:40:07.11ID:f1LM7KYB0
配列をシャッフルか...なるほど...
2017/12/09(土) 19:59:49.27ID:0DJ42hmW0
配列をシャッフルするって方法は、カードゲームや麻雀の洗牌で使うよね。
文字通りシャッフル、一揃いの順番を混ぜ合わせる操作として。
連番で初期化した配列の、乱数で選んだ2つのインデクスの要素同士を入れ替え。
ある程度の回数ループさせると重複なく順番がバラバラになる。

他には、素朴な乱数ルーチンと組み合わせて乱数の質を改善する方法として
乱数プール(配列)の中から乱数で選んだ(インデクスの)値を出すってのを
見たことがある。
最近は高品質な生成アルゴリズムを使うのだろうけど。
2017/12/09(土) 20:34:35.00ID:zmyZSbxv0
「Fisher-Yates shuffle」で検索!
2017/12/09(土) 20:41:26.15ID:gdFl+nNB0
>>連番で初期化した配列の、乱数で選んだ2つのインデクスの要素同士を入れ替え。
>>ある程度の回数ループさせると重複なく順番がバラバラになる。

それは初心者にありがちな悪手。回数を増やすと見た目はランダムっぽく
なるけどあまりランダムにならない。
1枚目を全体からの一様乱数、2枚目を残りから一様乱数、・・・という具合に選ぶのがいい
2017/12/09(土) 21:03:49.72ID:uxECPca0d
std::shuffle,
古いコンパイラならstd::random_shuffle
781デフォルトの名無しさん (ワッチョイ d79f-qmOZ)
垢版 |
2017/12/10(日) 06:04:19.96ID:J0bkBqjd0
それはC言語ではなかろう
2017/12/10(日) 08:43:45.99ID:q697l8m20
リングバッファで選んでないものを探す。
2017/12/10(日) 11:45:02.06ID:jSvVl/bp0
昨日の768です
Fisher-Yates shuffle
が凄く役に立ちました。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void shuffle(int ary[], int size);

int main(void) {
int list[10] = { 0,1,2,3,4,5,6,7,8,9 };

shuffle(list, 10);
for (int i = 0; i < 10; i++) {
printf("%d,", list[i]);
}
return 0;
}

void shuffle(int ary[], int size) {
for (int i = 0; i < size; i++) {
int j = rand() % size;
int t = ary[i];
ary[i] = ary[j];
ary[j] = t;
}
}
2017/12/10(日) 11:47:09.13ID:jSvVl/bp0
これだと10桁表示されてしまうので、4桁分表示するように変更
色々有り難うございました
HitとBlowの処理行ってきます
785デフォルトの名無しさん (アウアウカー Saeb-I8sf)
垢版 |
2017/12/10(日) 18:48:03.62ID:xLxKGjo5a
4桁なら乱数4つ求めた後で重複調べてあったらまた求めるっての繰り返しても良いんじゃないか?
2017/12/11(月) 06:21:58.84ID:4q7JrCp00
arySize = 10
range = 0...arySize # 未満
ary = range.to_a

def shuffle(ary, size, range)
for i in range
j = Random.rand(size)
puts "i=#{i} ← j=#{j} : value #{ary[i]} ← #{ary[j]}"

ary[i], ary[j] = ary[j], ary[i]
end
end

shuffle(ary, arySize, range)
p ary

i=0 ← j=8 : value 0 ← 8
i=1 ← j=9 : value 1 ← 9
i=2 ← j=2 : value 2 ← 2
i=3 ← j=9 : value 3 ← 1
i=4 ← j=7 : value 4 ← 7
i=5 ← j=5 : value 5 ← 5
i=6 ← j=4 : value 6 ← 7
i=7 ← j=8 : value 4 ← 0
i=8 ← j=7 : value 4 ← 0
i=9 ← j=9 : value 3 ← 3
[8, 9, 2, 1, 6, 5, 7, 4, 0, 3]

>j = Random.rand(size)
Ruby で書いたけど、これだと、0〜9 のまま一定だろ。
Fisher-Yates shuffle では、ループの度に、1ずつ減らさないといけないよな?
2017/12/11(月) 06:51:09.15ID:IqtrAjQN0
>>779
Fisher-Yates shuffle で検索したら、関連情報として >>777 の方法が
良くないことと、その理由が説明されてるページが見つかった。

可能な並べ方の全パターンが等しい確率で出現するか否か、
というアルゴリズムの原理からの比較は分かりやすくて説得力があった。

個人のページみたいなのでリンクは張らないけど、
「Fisher-Yates shuffle ランダムシャッフル」で出るかと。
2017/12/11(月) 10:36:52.32ID:jt1Lo1hEp
最初から全部の組み合わせの分のテーブル作っておいて、
そいつを乱数で選ばせりゃ一発で決まりだろ?
2017/12/11(月) 11:17:47.55ID:lUrRZ9vjM
何個いるんですかね?
2017/12/11(月) 11:43:53.98ID:jt1Lo1hEp
いまどきハードディスクなんかテラバイト単位でデータ持てるじゃん。
2017/12/11(月) 12:04:58.55ID:maeT9tJH0
ふつうに Fisher-Yates でいいと思うよ
792デフォルトの名無しさん (アウアウカー Saeb-I8sf)
垢版 |
2017/12/11(月) 12:51:29.67ID:h/GY+Pada
>>788
おお。斬新なアイデア。
4つしかなくて0〜9ならそれでも問題ないな。(メモリが全然ないような特殊な場合を除いて)。
2017/12/11(月) 13:06:03.85ID:roDNP16DM
それするなら、0〜9999の乱数を求めて各桁を使えばいい
配列を作る必要はない
2017/12/11(月) 13:07:55.26ID:roDNP16DM
違った。重複しちゃだめだった
2017/12/11(月) 13:30:57.23ID:jt1Lo1hEp
>>791
トランプゲーム作った時は真面目にカード配列ん中シャッフルしたわな。懐かしい、
2017/12/11(月) 13:35:17.11ID:pAWgJfSj0
>>794
重複した時だけやり直せばいい気がする
2017/12/11(月) 13:54:44.99ID:jt1Lo1hEp
>>793
各桁の検査の為に分解するんだからむしろ効率悪いんじゃね?
2017/12/11(月) 17:12:57.06ID:Sy4nT1MaM
順列のN番目を求める式を作れば
2017/12/12(火) 11:36:44.51ID:OaIMcnFX0
/wiki/シャッフル (カード)

各シャッフル方法をプログラムで再現するには・・・
800デフォルトの名無しさん (ワッチョイ d79f-qmOZ)
垢版 |
2017/12/13(水) 01:28:00.37ID:bXzZ5Rwc0
>>788
作ってはみたが、なんかアホらしいなw
https://paiza.io/projects/yofogJfSk62gEukoMoCAtA
2017/12/13(水) 17:02:05.03ID:1L+KQhUep
>>800
つうか、一回限りなら意味が無いかもな。
テーブルに出た回数も記録して同じ組み合わせは出ない様にも出来たり、テーブル自体も別系列の乱数でシャッフルするとか、
使い道は無限大さ。
2017/12/13(水) 19:17:26.19ID:bDsqAirCa
なんとなくこねくり回しても数学的に無意味な感じがしてならない。
2017/12/13(水) 21:30:15.12ID:1L+KQhUep
実務で使う関数とか数学的には何の意味も無いなんて、当たり前だろw
2017/12/13(水) 21:48:43.88ID:fGUxNoH20
AIが作ったと妄想してみる。
2017/12/13(水) 23:51:42.07ID:ScBZYS+4a
C言語覚えたい頼む
このアホに教えこんで理解させるとしたらまずなんのテキスト使う?
教え上手のおまいらに最後の希望を託す
(ちな言われたことは必ずやります)
2017/12/13(水) 23:58:12.44ID:dNf1wD6/d
>>805
http://codepad.org/
このコードパッドというサイトで、「ハローワールド」を表示するプログラムを実行できたら、ほめてやろう。
C言語でプログラムを実行するには「おまじない」が必要だ。
2017/12/14(木) 00:04:40.76ID:4rioyzzQd
しかも、そのおまじないは半角文字と全角文字を区別する。
一文字でも間違えたら正しく動かない。
2017/12/14(木) 00:14:00.32ID:4rioyzzQd
確実に正しくプログラムを入力したいなら、「コピペ」すればいい。
2017/12/14(木) 07:54:19.09ID:XNEgxviE0
>>805 これまでのプログラミング言語の経験を申告してもらうかな。
「この辺の知識は既に持ってる相手」という前提があれば、
教える側としても出発点や道順を選びやすい。
2017/12/14(木) 10:53:53.27ID:j4kcZFN2d
>>809
アセンブラ一筋30年
x86, ARM, MIPS, SH, Z80, 6809, R8C, RL78, C2000, PIC, AVR, STM8, HAL9000, RX
2017/12/14(木) 11:15:27.13ID:lae2KYT0a
>>806
片山さんチーッス!
後ほど報告しますね

>>809
FE試験でCASLを福島本で少々もちろん落ちました春再戦はCで挑みたく…
ほかPython本チラ見と開発環境整え中に他の試験のため頓挫

覚えたいが独学でグイグイいけるモチベもなく(あればここで泣きついてないw)誰かにゆるい階段のお膳立てをしてもらい登ってみようかと。これでだめならセンス無しでITから撤退しますw
2017/12/14(木) 11:43:24.92ID:ZG1tcwsuM
>>810
6809案件って30年前はほぼ収束してないか?
2017/12/14(木) 12:25:35.27ID:npthtwn/d
主曰く、Cは自らハックする者を救く
2017/12/14(木) 12:40:06.06ID:/7Md6pmo0
>>811
C++をやれ、accelerated c++ を必死に登れば、開運する
2017/12/14(木) 12:45:49.47ID:iWXm2kLzd
C曰く、我五chにて学に志す
2017/12/14(木) 12:48:17.48ID:M3GbY6+F0
ところで IT と C言語 って割と隔たりないか?
817デフォルトの名無しさん (エーイモ SE52-x5Rz)
垢版 |
2017/12/14(木) 13:39:55.18ID:viw49ZxRE
C99とかC14とかCにもいろいろ種類があるそうですが
特定の種類で書かれたソースコードであるかチェックしたいのでsouiu
lint toolってありませんか?
2017/12/14(木) 14:31:52.49ID:2joenvDO0
>>817
C14なんて聞いたこと無い
gcc には -Wc90-c99-compat と -Wc99-c11-compat オプションがある
819デフォルトの名無しさん (ワッチョイ 926e-zS+j)
垢版 |
2017/12/14(木) 16:12:02.98ID:fPDEs5uN0
C14はC++14を勘違いしたんだろうね
Cの種類は、K&R, C90(C89), C99, C11の4つが主要バージョン
主要でないバージョンというと、primeval CとかC84などがある
C90をC89と言ったりするのは、ISO/IEC9899:1990がANSI X3.159-1989を追認する内容だからだ
日本語版のJIS X3010:2003はC99の直訳
820デフォルトの名無しさん (アウアウカー Sa6f-kaKc)
垢版 |
2017/12/14(木) 16:29:20.24ID:8Y/Mk4+4a
>>803
いやほら乱数ってハードウェア利用せずに計算だけでやる場合は処理を複雑にしても無意味なことあるじゃない。
821デフォルトの名無しさん (アウアウカー Sa6f-kaKc)
垢版 |
2017/12/14(木) 16:31:27.48ID:8Y/Mk4+4a
>>810
懐かしいのがあるなあ。

でもアセンブラできるなら覚えるの早いかも。
2017/12/14(木) 16:33:32.52ID:tnwQop1o0
ワンタイムパスワードで送られてくる数字を事前に当てられたらすごいと思います
2017/12/14(木) 16:46:53.67ID:CLsAPy5t0
>>811
時間かかってんな。
「#include <stdio.h>
int main(void) {
printf("ハローワールド\n");
return 0;
}」
これだけ入力してrunさせるだけだぞ。
2017/12/14(木) 16:57:01.41ID:UEegqCh3a
putsじゃだめなん?
2017/12/14(木) 17:01:48.84ID:CLsAPy5t0
>>824
putsは知らんヤツ多いし、教育上、発展的ではない。
2017/12/14(木) 17:02:54.59ID:M3GbY6+F0
古典だし、コピペでもいいとしてるし
それなら printf にしときたい所存
827デフォルトの名無しさん (ワッチョイ 926e-zS+j)
垢版 |
2017/12/14(木) 17:06:32.65ID:fPDEs5uN0
putsの使いにくさときたらアンタ・・
2017/12/14(木) 17:43:18.92ID:4rioyzzQd
勝手に改行が入っちゃうのが不味いのかな。
2017/12/14(木) 17:56:10.05ID:tnwQop1o0
fwrite で
830デフォルトの名無しさん (ワッチョイ dee7-hnOy)
垢版 |
2017/12/14(木) 20:08:02.01ID:ixe7nO7C0
putsは使ってないな一行読み込みだしその後の文字加工がめんどくさいからprintfで済ましちゃうな
831デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
垢版 |
2017/12/14(木) 20:15:34.79ID:wDiGnNfx0
初心者にprintfを教えると、信頼の出来ない文字列を第一引数として渡す事故が
起きかねないので教育上よろしくないのは常識

[MQ]Z はアホの代名詞
832デフォルトの名無しさん (アウアウカー Sa6f-kaKc)
垢版 |
2017/12/14(木) 20:26:36.32ID:kKgdz6jma
printf("%s\n", "うふ");
2017/12/14(木) 20:39:43.33ID:jkby6cOl0
標準ライブラリ禁止な。
2017/12/14(木) 21:08:44.70ID:MoDZh4zqd
>>805
高橋まな?の
やさしいC
って本がおすすめ
2017/12/14(木) 21:58:51.30ID:q6i5/Nc7M
プログラミング初心者です

struct hoge *tmp = NULL;
以下うろ覚え
tmp->hage = xxxxx;

最近上記のようなコードに出会いました
明らかにNULLなのにアロー演算子で参照してもぬるぽしないことってあるんでしょうか?
2017/12/14(木) 22:01:55.65ID:/7Md6pmo0
>>835
同じくありえない気がする
2017/12/14(木) 22:16:14.39ID:a/3Oigfw0
tmp->hage = xxxxx は、0番地にアクセスしてるわけじゃなくて
0 + hageのオフセット番地にアクセスしてるわけだから、
hageのオフセット番地が有効なメモリまでズレてれば
ヌルぽしないんじゃない?
2017/12/14(木) 22:18:38.35ID:Ka/BKddkd
組み込みならゼロ番地付近をアクセスするためにありうるかもな。
あるいは単にそのコード部分が動いていないか。
2017/12/14(木) 22:18:39.02ID:+A9pd2E10
0番地に値を書くのと、ヌルポインタアクセスは見分けが付かないからなぁ
2017/12/14(木) 22:20:06.59ID:+A9pd2E10
なので、NULLの値を全く違う値にしてる処理系もあるんだよ。
2017/12/14(木) 22:26:45.88ID:q6i5/Nc7M
>>837>>838>>839
皆さん凄いですね
確かにその可能性あるかもしれません
しばらくそのコードを確認できないので
確認できたら結果報告します
2017/12/14(木) 22:35:39.57ID:JlwKPeYd0
>>810
HAL9000?
処理系あるんだっけ?
2017/12/14(木) 22:37:16.44ID:ZN3qJoQh0
>>838
> 組み込みならゼロ番地付近をアクセスするためにありうるかもな。
これで当たりだと思うけど、
そもそも組み込み(≒MMU無し)ならどこアクセスしてもヌルポしないがな。
2017/12/14(木) 22:43:41.09ID:JlwKPeYd0
>>835
そもそも何が起きてもおかしくない = なにも起きないかもしれない
から
コンパイラによってはコード生成すらしないことだってあり得るし
2017/12/14(木) 22:47:13.04ID:JlwKPeYd0
>>843
> そもそも組み込み(≒MMU無し)ならどこアクセスしてもヌルポしないがな。
そんなもん機器による
ROM領域に書き込んだりなにも割り当てられてない領域を読み出したら例外を発生させるとか普通にある
2017/12/14(木) 23:13:34.90ID:ZN3qJoQh0
>>845
その例外を発生させるものがMMUなんだが
2017/12/14(木) 23:29:05.12ID:WS/Wft5WM
固定のアドレス範囲で例外出だけならMMUほどの複雑な機能いらないっしょ
2017/12/15(金) 00:13:12.48ID:tW10X6gZ0
>>846
知ったか乙
アクセス対象がなかったらタイムアウトでバスエラーにするとかにMMUなんてものは要らん
2017/12/15(金) 00:57:29.28ID:QRFEcBGB0
>>847-848
ゆとり死ね

つか組み込みの0番地なら普通にアクセスできるほうが多いと思うが。
ARMだとベクタのようだし。
850デフォルトの名無しさん (ワッチョイ 926e-zS+j)
垢版 |
2017/12/15(金) 05:27:47.99ID:GBd6F7vt0
スタックポインタの初期値だね
2017/12/15(金) 06:53:37.66ID:tJR4HiUM0
ARMだと未割り当てエリアのアクセスは例外発生する
2017/12/15(金) 06:58:51.04ID:suRmrR/jM
>>849
> ゆとり死ね
指摘されたら逆ギレとかどっちがゆとりだよ w

> つか組み込みの0番地なら普通にアクセスできるほうが多いと思うが。
組み込みなんてピンきりだから普通にとか言っても意味ない
そもそも
> 組み込み(≒MMU無し)
の認識がおかしい

> ARMだとベクタのようだし。
ARMもピンきりでMMU持ってる奴も多いからARMだから0番地アクセスできるとか無知すぎる
853デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
垢版 |
2017/12/15(金) 07:02:18.81ID:yuhdgz4g0
>>848
セグメントフォルト、バスエラーは同期例外だ
非同期(タイムアウト)でバスエラーなんか起きたら困る

知ったか乙
2017/12/15(金) 07:14:46.17ID:soFbbFtpd
C言語じゃないけど聞いて良いですか(´;ω;`)
バッチ利用して設定ファイル書き換えたい

1. ユーザーに入力してもらう
2. iniの値をそれで上書き

x.ini
AAA=1
BBB=2
CCC=3

AAA=1
BBB=192.168.0.1
CCC=3

キーはBBBで固定
設定値が少ないから一度全部読み込んで一行ずつtmpに書き込んで〜ってのも問題ない
一行ずつ読み込んで別ファイルに出力とかはできたんだけど
BBBなら〜って判別ができないです
855デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
垢版 |
2017/12/15(金) 07:35:31.85ID:yuhdgz4g0
>>854
>C言語じゃないけど聞いて良いですか(´;ω;`)
ダメ
2017/12/15(金) 07:39:05.88ID:soFbbFtpd
>>855
そそそそんなぁ(´;ω;`)


まあそうだよね
すみませんでした
2017/12/15(金) 08:14:33.28ID:FCwL/bM6M
>>853
恥の上塗り乙
68Kだと普通の設計だぞ
https://www.slac.stanford.edu/BFROOT/www/Detector/DAQ/Infrastructure/Maint/177aih.pdf
あとバスエラーの定義はプロセッサによって異なるからプロセッサも限定せずに
> セグメントフォルト、バスエラーは同期例外だ
とか書くと知ったかがばれるので注意しろよ w
2017/12/15(金) 08:20:34.53ID:FCwL/bM6M
>>854
C言語でやりたいならここでいいけど、バッチでやりたいならこっち
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1489207631/

あとバッチはその手の文字列操作があまり得意でないので個人的にははPowerShellとか使った方が楽だと思う
【最強CUI】PowerShell -Part 2 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1480109402/
859デフォルトの名無しさん (ワッチョイ 926e-zS+j)
垢版 |
2017/12/15(金) 10:39:34.38ID:GBd6F7vt0
68kでのバスエラーとは/BERRがアサートされることで
何をセンスして/BERRをぶっ叩くかは基板次第だな
2017/12/15(金) 11:50:37.48ID:lVqJ9ww50
PC-9801
0x000000 - 0x0003FF IVT(割り込みベクターテーブル)

まぁ弄るなら割禁とか保険かけるんで専用ライブラリ使うかアセンブラコード書くな。
2017/12/15(金) 12:40:56.01ID:eSUvZEm2M
割り込みと例外は違う
まあバスエラー相当が割り込みであがるアーキもあるけど
862デフォルトの名無しさん (ワッチョイ 926e-zS+j)
垢版 |
2017/12/15(金) 12:46:09.63ID:GBd6F7vt0
longjmpやC++のthrowのような例外と割り込みは違うが
ソフトウエア割り込みだの記憶保護例外だのは割り込みと同列なもので
CPUのマニュアルでも同じ章に書いてある
2017/12/15(金) 12:59:16.80ID:wYljbLzIp
例外割り込みって、割り込みの一部じゃね?
864デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
垢版 |
2017/12/15(金) 13:49:05.09ID:yuhdgz4g0
>>857
この文脈ではメモリアクセスに伴って発生バスエラーであり、それが非同期って事はアスセスして読めた後で、やっぱさっきのなし、ノーカン、ノーカン

って事だぞ お前は班長か?
2017/12/15(金) 14:19:32.62ID:wYljbLzIp
>>864
いやいや、そもそも読めないから。
866デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
垢版 |
2017/12/15(金) 14:30:39.93ID:yuhdgz4g0
>>865
理解してない奴は、混乱の元だから割り込んで来ないように
2017/12/15(金) 16:34:19.49ID:g34oCD75d
同期とか非同期とかどうでもいいだろ
2017/12/15(金) 16:34:43.72ID:g34oCD75d
>>835とは関係ない
2017/12/15(金) 16:36:08.94ID:g34oCD75d
C言語のヌルポとハード0番地って同じである必要は無いんだよね
870デフォルトの名無しさん (ワッチョイ 926e-zS+j)
垢版 |
2017/12/15(金) 17:25:38.74ID:GBd6F7vt0
0xffffffff番地でもいいはずだね
要は、Cで合法的に定義されたオブジェクトが決して含まないアドレスを
1つ決めごと作っておいてそれを空ポインタということにしようということと
規格合致処理系はそれを必ず決めておかなければならないということ
C以外のたとえばアセンブラで定義されたオブジェクトまでがその規則に従うとは限らないし
そういうオブジェクトをCで扱えてはならないとまでは言ってない
あくまで自己責任でやる限り余計な邪魔立てはしない
2017/12/15(金) 20:55:15.86ID:eSUvZEm2M
ポインタはポインタであってアドレスではない
けど中途半端に知ってるとポインタとアドレスがイコールと思い込んでしまう
ヌルポインタはアドレスで説明できないポインタの例だね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況