C言語なら俺に聞け 154
レス数が950を超えています。1000を超えると書き込みができなくなります。
20年目ではなく20年後なのでpowするなら20じゃないと なぜ、fopenは"fp"でポインタ受け取り、fopen_sは"&fp"でポインタを受け取るのか分かりません。
定義?を見て、見極める方法はありますか?
fopen_sの定義に、引数として"FILE** pFile"を指定されているとこに、"&fp"が入るのは何故ですか?
他の命令でも*fp、fp、&fpのどれを入れるのか判断がつきません…。
<プログラム例>
FILE *fp
fp=fopen("aiueo.txt","rb");
fopen_s(&fp,"aiueo.txt","rb") …★
<fopenの定義>
errno_t fopen_s(
FILE** pFile,
const char *filename,
*mode
);
語彙力が乏しいのでわかりにくくて大変申し訳ございません。 fpの型はFILE*だよね。それに&をつけるとFILE**型になる。 FILE**型の仮引数はFILE*型を受け取れる。FILE*の扱いは従来の入出力関数と同じ。 errorno 使わずに戻り値で異常を伝えるために & で受けてるのか >>854-855
ありがとうございます。
以下の理解でよろしいのでしょうか?
(1)変数FILE* fpの場合
・"*fp"(FILE型?)
・"fp"(FILE*型)
・"&fp"(FILE**型)
(2)変数FILE**fpの場合
・"**fp"(FILE型?)
・"*fp"(FILE*型)
・"fp"(FILE**型)
・"&fp"(FILE***型)
変数に付ける"*"の数を増やすと、逆に型の"*"が減るのはなんか気持ち悪いんですね… >>858
ありがとうございます。
型側と変数側で"*"を奪い合ってるイメージをすると覚えやすいかなと感じました。
int型:値そのものを入れるイメージ
int*型:値が格納されているアドレスを入れるイメージ(ポインタ)
int * p;
*p = 1; (1つしかない"*"を変数側に付けてしまったので、int型となり"*p"には値が入る。)
p=&hensu; (変数側に"*"を付けてないので、int*型となり、"p"にはアドレス番号が入る) >>859
覚え方は色々あると思うけど、俺は以下の方法がオススメ。
int i; → iがint型の値になる。iはint型の変数。
int *p; → *pがint型の値になる。
つまりpは*を付けてint型の値になる、すなわちp自信はint型を指すポインタ (=pはint*型の変数。) 俺の覚え方はこうだな
&:メモリの位置(アドレス)を取り出す操作
*:メモリの位置に記録されている値を取り出す操作
型:値が格納されているメモリの幅を示す
※例えばint型は4バイトなのであるint型のポインターが0x0000を指していたら
メモリの0x0000〜0x0031に格納されている値が対象となるデータ
int型ポインターでなくchar型ポインターだとしたら
メモリの0x0000〜0x0001に格納されている値が対象となるデータ >>861
誤記った
誤)0x0000〜0x0031
正)0x0000〜0x0003 >>861
*については2つ意味があるとして覚えているわ(この認識が合ってるのかは分からん)
変数宣言時の*の意味:宣言した変数がポインターであることを示す
それ以外の*:メモリの位置に記録されている値を取り出す操作
ポインター:メモリの位置を保存するための変数
ダブルポインター:(ポインターの)メモリの位置を保存するための変数
トリプルポインター:(ダブルポインターの)メモリの位置を保存するための変数
・・・・以下略 fopen_s では、*fp を引数として参照渡ししてるからだよね、関数側で書き換えてもらうために
int i; を &i で参照で渡して、i を書き換えてもらうように、ポインタを渡して fopen_s で内容を書き換えてもらっている ポインタの覚え方もさることながら、型の修飾もどうだったかすぐ忘れるw
値を指し示す const ポインタなのか、const な値を指し示すポインタなのか、その両方なのか、それらの書き分けするのに毎回 google に聞いてる。
多重ポインタとか関数ポインタとか volatile なんかも組み合わされてくると、書けはしてももはや読める自信が無いw >>795
クラスを使ってないだけか?
テンプレートや無名共同体は使ってるか? >>866
クラス「とか」な
普通に考えたらわかるだろ >>822
FILE型についてはわざと中身を隠蔽していると思って良い。
オブジェクト指向の言語ならクラス変数が全てprivateになってるのと同じようなもの。で、そういう変数の読み書きは専用のメソッドを通して行う。
何故そうしているのかというと、外部から勝手に書き換えられたくないからだ。書き換えられると正常な動作を保証できなくなるということでもある。 >>868
いーや795で何が言いたいのかさっぱりわからん
揚げ足取りたかっただけか?
拡張子がcppでも内容的にCかどうか
あんたに聞いているんだ
答えてくれ >>871
書いてある内容そのままだし別に理解できないならそのままでいいんじゃね?
Visual Studioは(既定の動作として)拡張子でC/C++を切替えるだけって話だし >>872
書いてある内容そのままなら
http://www.kumei.ne.jp/c_lang/index_sdk.html
ここに書いてある内容のどこに
>>779がCではなくC++を憶えないと
理解できないコードがあるのか例示してくれ
失言ならとっとと引っ込めろ
逃げてる限り絶対に許さんぞ > CではなくC++を憶えないと
・・・誰もそんなこと言ってなくね?こわいわ。 strcmp的な「言ってない」で逃げたいの見え見えだな
逃げればいいじゃん、嘲笑ってやるぜ コメントはC++スタイルだが、他に特にC++特有のものはなかった。 >>859
C言語で2次元配列を動的に割り当てる4つの方法
もお薦め 本来Cでは「二次元配列」と呼ばれないものまで
二次元配列の4種類!(キリっ)とか紹介するのは非常にまずいと思う >>875
strcmp的とかよくわからんし、
>>779がCではなくC++を憶えないと理解できないコードがあるのか例示してくれ
と言われてもそんなものがあるなんて誰も言ってないから「ないけど、それが何か?」で終わる話なんだけどw >>881
では何故俺が792で「猫でもわかる」はCだと言ったことに対して
拡張子がcppだなどと絡んできた?
779 Win32APIを学ぶにはCとC++どっちを学ぶべき?
780 Win32APIはCだ(猫でものリンクを貼る)
786 むしろC++を知らないほうがいい、Cからやれ
795 「猫でもわかる」はCだ
796 C++のクラスを使ってない、拡張子はcppだ
この流れで「猫でもわかる」がC++だと主張してないとぬかすなら
アホは黙ってろ 自分の言葉に責任を持たない社会のクズは
このあと「それ、俺じゃない」とぬかす >>882-883
> C++のクラスとかを使ってないだけ
> そもそもサンプルコードのファイル名はsample01.cppとかだからC++としてビルドしてるし
と言う「事実」を書いてるだけだよw
C/C++の両方でビルドできるコードの存在を知らんのか? 黙ってろと言ったはずだ
端っから内容のないゴミレスして突っ込まれて
とぼけるしかなかったボーガスは身の程をわきまえろ 何も意図せずに「猫でもわかる」は拡張子がcppだと譫言をぬかすのは
ガキが何のボタンかわからんものを押しちまうのと同じ
自分が何をしでかしたか理解してない x=f(x)で、f(x)が複雑でx=定数の形にするのが大変なんで、数値計算でxの値をだしたいんですが、いい方法は有りますでしょうか >>892
ニュートン・ラフソン法
x=f(x)は0=f(x)の間違いかな >>894
ありがとうございます!
間違ってました笑 f(x)=任意の数値 となる x を数値演算で探せ
g(x) = f(x) - 任意の数値 として g(x) = 0 となる x を数値演算で探す
※ 任意の数値が変数 x でも差しさわりはない f(x)-x = 0 となる x を探索する話に帰着
あとは >>894 の通り
ニュートン・ラプソン法なり 2分法なりで 解析的な解法
微分可能
連続性
全ての解が必要かどうか
などで最適な解法はいくらでも変わる
無条件でニュートン法を勧めるヤツはアホ >>891
何を指摘されたんだ?
俺は「猫でもわかる」はCだと言った
おまえはCともC++とも言ってないんだろ
逃げ回るそのザマはまるでハエだなw >>890には多少同意するが
まあただの匿名掲示板だし
「しでかした」ってのも大袈裟
リアルだとかなり迷惑な存在なのは確か
話の流れを読まずに首を突っ込んで来るヤツ >>898
指摘内容すら理解できてないのかよ…
流石に恥ずかしくね?w
> クラスを使ってないだけか?
> テンプレートや無名共同体は使ってるか?
↓
> クラス「とか」な
> ここに書いてある内容のどこに
> >>779がCではなくC++を憶えないと
> 理解できないコードがあるのか例示してくれ
↓
> と言われてもそんなものがあるなんて誰も言ってないから「ないけど、それが何か?」で終わる話なんだけどw
> この流れで「猫でもわかる」がC++だと主張してないとぬかすなら
↓
> C/C++の両方でビルドできるコードの存在を知らんのか? >>901
テンプレートと無名共同体は使っているのかいないのかって聞いたのに
通じてねえのおまえだろ、それが恥ずかしいことくらいはわかるのか
早く答えろ、Yes/Noで 恥の上塗り乙
テンプレートや無名共同体を含めてクラス「とか」って書いてあるんだが >>903
テンプレートと無名共用体は使ってないんだな? 言質取るぞ >>904
揚げ足取ろうと必死やな
全部は確認してないよ、それが何か?
ちなみに無名共用体は拡張機能としてあるからいいとしてもテンプレート使ってたら>>792も嘘つきになるけどなw >>905
で、おまえ792を嘘つき呼ばわりできるのか?
「猫でもわかる」はCだと言った792にイチャモンつけてきたのおまえだぞ
嘘つきなのか否か挙証責任を果たせないなら撤回か逃亡しかねえぞ >>906
>>792が正しいとか間違いだなんて言ってないけど?
被害妄想で逆ギレ?
基地外の行動やねw どうでもいいけど>>792のサイト内で
>この時ファイル名は「*.c」でも「*.cpp」でもかまいません。
と書かれてるくらいだから少なくともサイトの作者はC++は必須としてないように思えるけどなぁ >>907
じゃあ、795で何が言いたかったんだよ
俺が「猫でもわかる」はCだと言ったことに対して
何か文句でもあんのかよ? 寂しかったのか? いやさすがに>>892が微分方程式だという発想はなかった
解は定数と書いてるし
xが実数以外(複素数、ベクトル、行列、...)の可能性はちょっと考えたけど >>908
> C++は必須
誰がそんなことを言ってるんだ?
>>909
レスしただけで文句ガーとか何キレてるんだよ
チンピラ(死語)かよw >>912
俺が「猫でもわかる」はCだと言ったことに対して
何か文句でもあんのかと聞いているんだ
自分の主張から逃げるヘタレが人のことをチンピラだと? win32APIはCででもC++でもいいけどこのスレはc言語ならスレだから答えはcでいやん
それとどうでもいいけど拡張子は.cc派 >>914
>win32APIはCででもC++でもいいけど
コールバック関数はマングリングしていてはだめなので、最低コールバックだけは extern "C" が必要だと思いますから C++ オンリーというわけにはいかないでしょう
extern "C" を含んでの C++ 、というのなら理解しますが >>912
自分に対する指摘は(ただの事実の指摘であっても)否定的な意味を持つ攻撃ととらえる残念な精神構造の人なんだと思う。最初の思い込みは後からどうやっても訂正しない(出来ない)タイプだろうから、これ以上突っつくのはやめてくれないかな?
理性のある側が引かないと、このどうでもいいレスバトルが終わらないから、頼むよ。 >>913
> 何か文句でもあんのかと聞いているんだ
単に事実を書いてるだけと書いたはずだが、頭に血が上って理解できなかったのか?w >>917
何のためにそれを書いたのかと意図を聞いている
手が勝手に動いたとでも言うつもりか?
それとも得意の「俺じゃない」で逃げるか?
ヘタレにはよく似合うぜ >>918
事実を伝えるためだけど?
理解力のないチンピラには伝わらなかったみたいだけどw >>919
俺に伝える必要がおまえにはあったんだな
で、なぜそんな必要があったんだ?
自分の主張が言えない腰抜けが人のことをチンピラだと? 笑わせるぜ キリッてから後になって自信なくなったんだろゲラゲラ サイトのサンプルプログラムについては
*.cでも*.cppでもどちらでもいい >>920-921
> 俺に伝える必要がおまえにはあったんだな
レスを見てるのはお前だけじゃない事も理解できないのかよ、どんだけ自意識過剰なんだか
むしろ理解できないアホはいちいち絡んで来るなよ >>923
俺にレスアンカーつけといて
そんな言い逃れは通らんぜ
自らの言葉に責任を持てない社会のクズにアホとか言われても
全く響かねえぜ、どうせその言葉にも責任持たないだろうからな こっちは弱点晒してんだぜ?
「猫でもわかる」のサンプルにC++の知識が必要な例を示されたら負けだ
こんだけノーガードしてやってんのに、そこを攻められない無能なやつw レス数が10を越える様な人は、概ねNGにしてかまわないね >>915
スタックの使い方等の呼び出し規約に準じた関数へのポインタさえ渡ってれば
シンボル名が割当たってなくてもコールバックは為されるんじゃない?
シンボル名で呼び出す必要が出てきたときにマングリングがというのはあるだろうけど・・・ COM? >>924
アンカーはお前のレスを参照してるんだからつけるのは当たり前
だからと言ってお前だけに言ってるわけじゃない
掲示板の使い方もわからんのかよ…
>>925
> 「猫でもわかる」のサンプルにC++の知識が必要な例を示されたら負けだ
だれもC++の知識が必要だとか言ってないのに何を言ってるんだよ
しかも勝ち負けとか
>>916が言う様に引っ込みつかなくなってるんだろうなw >>916
「猫でもわかる」はCだと言ったのは思い込みか?
Cではないと主張するなら挙証責任を果たせ
自分は何も主張しないなら無駄口たたくな
どーせ自演だろw >>929
俺だけに言ってるんでなくても
俺に言ってるだろ
「猫でもわかる」はCなのかC++なのかShow your flatg! >>929
お前にレスアンカーついてるのに
お前に言ってないとでも思っているか?
アホw バカwww ゴミ クズ 不細工 童貞
お前に言ってないのかなあwwwwww >>932
> 俺に言ってるだろ
お前に「も」言ってるよ
理解できるかどうか知らん
別に理解できなくてもいいよ、そういうアホもいるだろうしw
> 「猫でもわかる」はCなのかC++なのかShow your flatg!
なんでわざわざ頭悪い事を示すかなぁ
>>933
低能らしいレス乙 『猫でもわかる』のサイトで紹介されてるソースが
Cの範囲で書かれてるかC++特有の機能も使ってるか検証せよ、って
実際やってみるだけの価値のない口論な気がするけどなぁ。
そりゃ「俺の言ったことは正しい」「一片の反論も許さない」って
ご当人にはスレッド埋め立てるほど重要な件かも知れないけど。
それとも俺以外の皆さんはこの議論の決着を手に汗握って見守ってるのかな。 >> 「猫でもわかる」のサンプルにC++の知識が必要な例を示されたら負けだ
> だれもC++の知識が必要だとか言ってないのに何を言ってるんだよ
> しかも勝ち負けとか
> >>916が言う様に引っ込みつかなくなってるんだろうなw
確かにFAだなw >>935
文字通り隔離入院が必要だな
触らなければ感染しない >>926
いや、もうこのスレ読まなくて良いと思う。見るのは次スレからで良いんじゃないかな。 >>942
おや、FAじゃなかったのか?
まあいきなり玉砕してたらノコノコ出てこざるを得ないわなw ホレホレここだってチャンスやってんのに撃てねえ無能が何だって? まあ正直、あのサイトから
丸のまんまDLなんかしたことないから
拡張子なんか気にしてなかったな
petzoldとの説明の仕方の違いを読んでただけで
まさか、あれをC++だと言い張るやつがいるとは思わなくて面食らった
言い張ってねえととぼけているようだが
Cだと言う発言に同調しない以上BASICやCOBOLなわけもなく答えは1つだ
自分の発言のしょーもなさに気付いて言い訳しまくってももう遅い simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
PS 連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0 >>945
> Cだと言う発言に同調しない以上BASICやCOBOLなわけもなく答えは1つだ
またその話かよ、チャンスどころかノーガードじゃねーかw
まあ毎回玉砕してるのに無視してるんだから無敵だわな
> この流れで「猫でもわかる」がC++だと主張してないとぬかすなら
↓
> C/C++の両方でビルドできるコードの存在を知らんのか? >>947
ノーガードは>>925で言っただろ
こっちが引き下がる条件をはっきり書いてやってんのに
おまえそれができねえだろうが
で、何が玉砕だ? 弾切れのくせに勝利宣言してんなよw
https://dotup.org/uploda/dotup.org2139674.png
こんな状況で先手が投了したなんて言っても誰も信じねえのと同じだ 必死つーか、ボコられるのが好きなマゾさんに付き合ってやってるだけさ >>948
既に
>> 「猫でもわかる」のサンプルにC++の知識が必要な例を示されたら負けだ
> だれもC++の知識が必要だとか言ってないのに何を言ってるんだよ
> しかも勝ち負けとか
> >>916が言う様に引っ込みつかなくなってるんだろうなw
…で、玉砕してるのに何度も繰り返すのは低能によくある行動
>>950
ボコられてる事すら理解できてないんだろうな…
理解力に致命的な欠陥があるんだろう レス数が950を超えています。1000を超えると書き込みができなくなります。