C言語なら俺に聞け 141 [無断転載禁止]©2ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2017/07/17(月) 21:06:47.63ID:J4JGo3XO
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/


http://mevius.2ch.net/test/read.cgi/tech/1494508803/
http://www.geocities.jp/c_cpp_cs/about_c/
810デフォルトの名無しさん
垢版 |
2017/08/07(月) 22:06:55.11ID:OgCRmlag
んなこたどうでもいい
&演算子が生じる結果は左辺値なのかよ?
6.5.3.2 にはそんなこと書いてねえぞボケこら
811デフォルトの名無しさん
垢版 |
2017/08/07(月) 22:11:16.54ID:OgCRmlag
        ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!出てこいID:DdwwpY1/
     「 ⌒ ̄ |   |    ||   (´Д` )    \___________
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | |
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |
2017/08/07(月) 22:11:31.00ID:uTywTMsC
>>809
計算不能であることが証明されている。Wikipediaより。
2017/08/07(月) 22:29:15.82ID:uTywTMsC
※未承認広告※
パチパチしませんか?
2017/08/07(月) 22:33:57.24ID:yPIvhEga
なんでWikipedia
815デフォルトの名無しさん
垢版 |
2017/08/07(月) 22:34:35.17ID:OgCRmlag
手帳所持者は逃げたかwww
2017/08/07(月) 22:37:08.08ID:yPIvhEga
>>812
何言語なら書けますか?
2017/08/07(月) 22:40:09.74ID:uTywTMsC
>>816
現状、どんな言語でも駄目。量子コンピュータで計算の概念が再定義される位のことが起こらないと無理。
2017/08/07(月) 22:50:03.04ID:yPIvhEga
ありがとうございます
あなたのレベルが大体わかりました
2017/08/07(月) 22:59:26.14ID:uTywTMsC
おそらく、量子コンピュータや生物コンピュータでも計算不能だろう。
2017/08/07(月) 23:09:18.43ID:nw7xsMvr
だからこんなキチガイはスルーしろと言ったのに…
ただのキチガイなんだから
2017/08/07(月) 23:16:17.80ID:uTywTMsC
ハムスターをリモコンで操作したい。
2017/08/07(月) 23:33:23.62ID:yPIvhEga
女の子をリモコンで操作したい
2017/08/08(火) 00:41:25.03ID:eouAXJYK
>>777
どう見てもcompは変数なんだが
2017/08/08(火) 00:45:20.16ID:eouAXJYK
>>775
> おまえまさか「配列を渡した」とか思ってるのか?

配列名がどのように扱われるか知らないのか 完全なガイジ
とっとと手帳申請しろ
2017/08/08(火) 00:49:28.21ID:eP5zQIOv
いつまでやっているんだ
2017/08/08(火) 00:57:11.00ID:MZyamSKY
>>823
そのバカには何言ってもダメから
スルーしろ
2017/08/08(火) 01:47:17.25ID:uStlgM0t
>>826
いや馬鹿は>>778が読解力なさすぎと指摘されているのに同じ解釈を繰り返している>>823でしょ。
ID:r7C/NYo5はcompが変数であることは否定していないし、その前の議論は(変数へのポインタではなく)関数へのポインタが存在するかどうかだ
2017/08/08(火) 01:57:36.64ID:t5Eof3Jx
>>823
compそのものは変数だけど、関数を指しているポインタでしょ?
ID:Uo4tfgNRが関数へのポインタが存在しないって主張していらっしゃるようだから示しただけだよ

>>774の「(変数じゃなくて)関数へのポインタ」
の「変数じゃなくて」は「ポインタが変数でない」と言っているのでなくはなく「ポインタの指す先が変数でなく関数」と言っていると思うんだけど違うかいな?
A pointer is a variable that contains the address of another variable. の最初のvariableじゃなくてanother variable の方ってことね
2017/08/08(火) 01:58:16.25ID:geODKJHF
(変数でない)関数へのポインタが存在するかどうかだ

じゃないの?
2017/08/08(火) 02:01:15.50ID:O87Z3HpH
>>780再掲
http://codepad.org/GP2rFL5Z
2017/08/08(火) 02:05:22.89ID:yYsi1PP7
typedef void (*INTVEC)(void);
(INTVEC)0;
2017/08/08(火) 02:08:26.75ID:t5Eof3Jx
>>829
(変数でない)は関数かポインタかどっちにかかっていると思う? 俺は関数だと思う
2017/08/08(火) 02:10:43.85ID:geODKJHF
関数は変数じゃないと言うのは理解出来るけど
関数へのポインタが変数じゃないと考えている人がいるようなので
2017/08/08(火) 02:20:03.78ID:uStlgM0t
少なくともID:bZKJxmgbは違うと思うよ
2017/08/08(火) 02:26:48.57ID:O87Z3HpH
http://codepad.org/hfnT13zf
2017/08/08(火) 02:27:16.73ID:geODKJHF
違うなら良いんです

ポインタは変数じゃないと結論が出るかどうかを楽しみにしているだけなので
2017/08/08(火) 03:43:17.45ID:eouAXJYK
>>828
「ポインタは変数である」
と言う文脈で「ポインタの指すものが変数じゃ無いものがある」と言い出すガイジが存在するって言ってるのか?
2017/08/08(火) 04:07:36.23ID:geODKJHF
変数へのポインタが存在するかどうかは、議論になってないと思いました
2017/08/08(火) 04:10:20.00ID:geODKJHF
議論になっているのは、
「ポインタは変数ではない」あるいは
「ポインタには変数で無いものが存在する」ってことかな?

どちらにしても、何か違和感を感じざるを得ません
2017/08/08(火) 05:31:31.11ID:fn/KDcW/
ポインタという言葉が、ポインタ型かポインタ変数かどちらのことを意味しているのかは文脈次第
関数へのポインタ云々の主張はポインタ型のことを言っているし、ポインタは変数云々の主張はポインタ変数のことを言っている
両者を混同して議論しているから混乱する

JIS X 3010
ポインタ型(pointer type)は,被参照型(referenced type)と呼ぶ関数型,オブジェクト型又は不完全型から派生することができる。
ポインタ型は,被参照型の実体を参照するための値をもつオブジェクトを表す。被参照型Tから派生されるポインタ型は,“Tへのポインタ”と呼ぶ。
被参照型からポインタ型を構成することを“ポインタ型派生”と呼ぶ。

例)
関数型
 被参照型 : void func(void), int func(int)
 ポインタ型 : void (*func)(void), int (*func)(int)

オブジェクト型
 被参照型 : int, double, array[]
 ポインタ型 : int*, double*, array

不完全型
 被参照型 : void
 ポインタ型 : void*
841デフォルトの名無しさん
垢版 |
2017/08/08(火) 06:09:26.13ID:/vaNLRRA
>>824
ははは、ほとぼりが冷めるのを待って出てきたか

 負 け 犬 め

&演算子が生じる結果は左辺値なのかよ?
6.5.3.2 にはそんなこと書いてねえぞボケこら

そのまま引っ込んでれば逃げられるのに
バカなやつw
2017/08/08(火) 06:57:04.74ID:JTaa5zWQ
>>839
お前はC言語の前に日本語勉強しろよ
2017/08/08(火) 07:36:06.14ID:Ya8H5zzs
こんなんじゃラチがあかんやろ
厳密な言語仕様規定用のメタランゲージで
Cのポインタ概念説明したれ

そんなん難しすぎて多分読めんけどな…わははは
2017/08/08(火) 07:59:01.02ID:rMIF23m7
ptr+1 は何だ?
2017/08/08(火) 08:06:53.41ID:GPPLRiD4
そもそもその ptr は何だ?
846デフォルトの名無しさん
垢版 |
2017/08/08(火) 08:14:46.20ID:cPrpCtT/
pgr
2017/08/08(火) 08:17:18.05ID:rMIF23m7
関数ポインタ以外のポインタ型の変数ならなんでもいいよ
2017/08/08(火) 08:31:21.70ID:eouAXJYK
>>841
&演算子ってなんだよ
お前も見えてないものが見えてるのか
とっとと手帳申請しろ

> printf("Hello, C world!\n"); これがポインタだっ どやっ
849336
垢版 |
2017/08/08(火) 08:37:44.58ID:YrE6LFRr
しつこい。次レスした方が負けね。
2017/08/08(火) 08:47:52.68ID:0o9xOItj
>>837
「ポインタは変数の位置を示す変数である」っていう文脈は飽きたのか?w

文脈のすり替えは辞めろガイジ
2017/08/08(火) 08:49:22.58ID:qTxWRpQR
幼稚な勝ち負け論
2017/08/08(火) 09:28:08.76ID:eouAXJYK
>>850
それに文句があるなら、その先の章も読んだ上で、カーニハンとリッチーに言え
K&R 1stで学んだんだろ w ガイジ
2017/08/08(火) 09:30:49.19ID:uN6BnjID
ポインタが変数かどうかとか言ってるのって>>778か?
そしてそれにレスしてるID:OgCRmlagか?

それ以前は居なかったような
2017/08/08(火) 09:34:31.83ID:2fnixEy5
有用な情報としては>>840があって、残りのほとんどは子供の喧嘩とそれをからかっている周囲の茶々だから、スルーしとけばいいよ。
2017/08/08(火) 09:38:26.73ID:eouAXJYK
>>854
>>840こそポインタと配列を混同する諸悪の根源
ポインタ型をポインタと呼ぶ事で、配列とポインタの区別が出来ない、ID:OgCRmlagのようなガイジが量産される
2017/08/08(火) 09:39:36.53ID:oLfqgxcT
>>852
「それ」って「A pointer is a variable that contains the address of another variable. 」のことか?
そこには文句ないよ。
勝手に「ポインタが変数かどうか」とかいう文脈にすり替えたことには文句があるけどな
2017/08/08(火) 09:55:39.20ID:eouAXJYK
>>856
ガイジID:OgCRmlagは文句があるようだぞ
2017/08/08(火) 10:23:08.14ID:oLfqgxcT
>>857
そいつの主張は俺もガイジだと思うよ
859C言語ますたー《ますたー軍団(常時募集)の長》 ◆oa6k//3vOQ
垢版 |
2017/08/08(火) 16:47:33.39ID:46jc69TQ
質問がある奴はVIPに来れば大体俺がいるよプゲラwww
2017/08/08(火) 21:02:06.34ID:CWtfXRt7
>>859
そのハンドルでは誰も信用しないだろう
2017/08/08(火) 21:06:09.48ID:SUxfydq2
> 7 名前:C言語ますたー《ますたー軍団(常時募集)の長》 ◆oa6k//3vOQ [sage] 投稿日:2017/08/08(火) 17:06:43.43 ID:46jc69TQ [1/3]
> アセンブラを1行ずつ実行するにはとうやってやればいいんだろう?
> エミュレータぐらいしか思いつかないわ

> 11 返信:C言語ますたー《ますたー軍団(常時募集)の長》 ◆oa6k//3vOQ [] 投稿日:2017/08/08(火) 20:06:57.31 ID:46jc69TQ [3/3]
> windowsの場合APIが用意されてるだろ?
> あれ1行ずつの実行って出来なくね?
> CPUの方にデバッグの機能がついているのだろうか…

こいつド素人。
862アムドクラス (4f6c-czis 110.132.254.159)
垢版 |
2017/08/08(火) 21:50:07.01ID:z5MuZpZP
AMDの勝ち
2017/08/08(火) 21:58:43.88ID:eouAXJYK
> printf("Hello, C world!\n"); これがポインタだっ どやっ
よりはまし
2017/08/08(火) 21:59:58.58ID:m3/ZcJyF
>>863
いつまで言ってんだ? 引数はポインター型だって結論だっただろ。
2017/08/08(火) 22:18:43.73ID:O3M4HeCn
この場合printf関数の引数は、被参照型 文字列リテラル オブジェクトから派生されたポインタ型のオブジェクト
2017/08/08(火) 22:19:57.77ID:0hOvAoxM
オブジェクトなどという高尚な概念はCにありません
867デフォルトの名無しさん
垢版 |
2017/08/08(火) 22:21:06.28ID:NzfA1f0K
Pointer
https://goo.gl/images/8NAARa
2017/08/08(火) 22:25:41.34ID:HehkFpa6
>>866
>>840を見直して来い
JIS X 3010で使用されている用語だ
勿論オブジェクト指向とは何の関係もない
ていうかK&Rでもオブジェクトという用語は使われていた気がする
2017/08/08(火) 22:35:05.98ID:0hOvAoxM
しらん
まぎらわしい言い方してるから自分の頭も混乱するんだ

文字列リテラルからポインタ型が派生するのって変じゃないか
ポインタのほうが汎用的だし逆だろ
2017/08/08(火) 22:48:27.60ID:4AThmWF1
>>869
抽象的思考のできない奴だな
intからint*を派生するのと同じことを言ってるだけ
派生されたポインタ型を変数に代入したものがポインタ変数
お前の言うポインタとはいったい何だ?
2017/08/08(火) 22:54:10.15ID:uStlgM0t
い、いやー。object自体は本当にK&Rに書いてあったよ
オブジェクト志向登場以前から使われてきたんじゃないかな?
2017/08/08(火) 22:55:26.67ID:m3/ZcJyF
同音異義語つーやつやな。
2017/08/08(火) 22:56:20.16ID:0hOvAoxM
派生の意味もちがうんかい
2017/08/08(火) 23:06:23.25ID:ORaXP+Gp
曜日の頭文字

#include<stdio.h>
int main(void){
int w = 3;
printf("%c\n", "SMTWTFS"[w]);
return 0;
}
2017/08/08(火) 23:15:50.51ID:yrQEUEp6
C言語で派生って言ったら型の派生の事だな
少なくとも型変換の意味ではない

配列型の式(文字列リテラル)が型変換されて非左辺値なポインタ型の式になるんだろ
>>866は変換前後ともオブジェクトだって言ってるけど
アドレス付け可能な領域に保存されている保証のないものがオブジェクトなの?
2017/08/08(火) 23:16:38.91ID:yrQEUEp6
安価ミスった>>865
2017/08/08(火) 23:23:10.94ID:fmd6E2St
何に盛り上がってるのかよくわからんけど
C言語だってオブジェクトはオブジェクトって呼ばれてる。
K&Rにも書かれている。
もちろん普通名詞のオブジェクトね
2017/08/08(火) 23:30:11.34ID:O87Z3HpH
張っておくか
>>840から転載
JIS X 3010
ポインタ型(pointer type)は,被参照型(referenced type)と呼ぶ関数型,オブジェクト型又は不完全型から派生することができる。
ポインタ型は,被参照型の実体を参照するための値をもつオブジェクトを表す。被参照型Tから派生されるポインタ型は,“Tへのポインタ”と呼ぶ。
被参照型からポインタ型を構成することを“ポインタ型派生”と呼ぶ。
2017/08/08(火) 23:37:29.99ID:0hOvAoxM
日本語的に派生って言ったら亜種ができることじゃん

double と *double って全然意味ちがうだろ
JavaとかでいったらObjectとRef<Object>ぐらいちがう
アドレスという概念をもちだして、多少関係してる違う型つくってるんじゃないか

JISがまちがってる
2017/08/08(火) 23:45:35.34ID:yrQEUEp6
JISは間違ってない
構文上、型指定子に*は含まれない
宣言子で*を付けることで被参照型からポインタ型に派生させているのだから、型の派生で合っている

>>865は間違ってる
この場合は派生ではなく型変換
2017/08/08(火) 23:56:11.53ID:0hOvAoxM
文字列リテラル オブジェクトはたぶん中身の文字データのことだろう
定義にしたがうと
それへのポインタは文字列リテラルから派生したポインタだからいいんじゃないの
2017/08/09(水) 00:05:11.01ID:bnFISF+U
普通名詞としての派生なら良いんじゃねーの

規格で定義されている派生として言ってるなら間違いってだけ
派生は型に対しての規則であって型を持つ式(オブジェクト)は派生しない、派生型に型変換されるだけ
2017/08/09(水) 00:14:48.77ID:ckc2uc+D
型変換であろうとポインタ型派生であろうとポインタ型である結果は同じことではないの?
2017/08/09(水) 00:16:45.80ID:sYRFpLtr
世間に通じない用語を振りかざして些末な定義や言葉尻について無益な議論をしていると
大学時代を思い出してほっこりする
885C言語ますたー《ますたー軍団(常時募集)の長》 ◆oa6k//3vOQ
垢版 |
2017/08/09(水) 00:25:37.15ID:s1XZJ5Nh
>>861
なんで粘着されてんだよ…
あとこれの何がダメなんだ?
お前らデバッガのステップ実行に興味ないの?
ちょっと調べた所ではint 1で行けるかもぐらいか
2017/08/09(水) 00:29:18.16ID:bb8twRCP
>>885
Visual Studio使えばデバッグ楽勝やで。
2017/08/09(水) 00:30:50.08ID:s1XZJ5Nh
>>886
実行中のプロセスにアタッチして、アセンブラ見ながらステップインで解析したいんだけどVSじゃ出来なくない?
2017/08/09(水) 00:31:28.95ID:8y5srZEo
用語オブジェクトについての哲学的な論考や定義そのものがJISには載ってなさそうだな

深く考えずに音写しただけ
だからカタカナの用語になってる
2017/08/09(水) 00:34:53.01ID:7zaXDMDr
>>864
それが、ポインタと配列の区別をつけられない本質だ

>>744の大ウソをゴメンなさいしてからホザけ カス
2017/08/09(水) 00:35:31.88ID:bb8twRCP
>>887
バージョンやエディションによって使える機能が違う。気にせず使いたいなら、「買え」
2017/08/09(水) 00:37:19.05ID:s1XZJ5Nh
>>890
学生だしお金ないからね
2017のcommunityじゃ無理?
2017/08/09(水) 00:37:30.14ID:bb8twRCP
>>744
訂正。関数の型が決まってなくともコンパイルできることがある。
2017/08/09(水) 00:40:01.14ID:bb8twRCP
>>889
お前は人間失格だ。言葉が悪すぎる。
2017/08/09(水) 00:46:00.24ID:7zaXDMDr
>>893
あなた様も障害者手帳の申請をする事をお勧めするしだいで御座いまする。

まず、頭脳が残念過ぎまする。
そして、頭脳が残念過ぎまする。
加えて、頭脳が残念過ぎまする。
きっと、高い等級で認定されると愚考致しまする。

敬具
2017/08/09(水) 00:46:00.43ID:s1XZJ5Nh
ポインタの話題ならアセンブラやった方が早いと思うんだよね
ポインタとして宣言された変数は32bit環境なら4バイト、64bitなら8バイトのメモリが確保されるだけだが、配列の場合、サイズ×添字の分メモリが確保されて、配列名がその先頭アドレスをあらわすってだけなのに
2017/08/09(水) 00:48:50.01ID:ckc2uc+D
>>891
VS2017Enterpriseならこんな感じ
Communityはよくわからん
http://i.imgur.com/wI7bq3C.png
2017/08/09(水) 00:51:21.74ID:s1XZJ5Nh
>>896
いい感じだな
でも俺がやりたいのはソース無しの実行可能ファイルを、アセンブリを表示しながらステップインだからVSじゃ出来ないのかも…
まあ言っちゃうとクラックがしたいんだけどね
2017/08/09(水) 01:02:47.80ID:bb8twRCP
>>894
現実世界ではあのごとき言動はアウトだからな。忠告だ。
2017/08/09(水) 01:05:03.10ID:Mt1oO7bk
>>897
Windowsで?
Linux なら gdb でやれそうな感じはするが、ソースなしだとどうなんだろう?
900C言語ますたー《ますたー軍団(常時募集)の長》 ◆oa6k//3vOQ
垢版 |
2017/08/09(水) 01:06:30.01ID:s1XZJ5Nh
>>899
一応LinuxはUbuntuならあるよ
やっぱりLinux勉強しとくべきかな?
2017/08/09(水) 01:08:37.25ID:bb8twRCP
クラークなら、windbgとかollydbgとか使えば? 汗もでるよ。
2017/08/09(水) 01:14:59.65ID:s1XZJ5Nh
どっちも持ってて試したけどイマイチ…
int 3のブレークポイントがある所でしか止まらないじゃん?
普通に最初からステップインでやれないものか…
だから>861でエミュ上での実行が良いって言ったんだよね
2017/08/09(水) 01:16:05.66ID:7zaXDMDr
>>897
出来るよ やり方は片山KUZUが見てるから教えない
2017/08/09(水) 01:19:35.53ID:s1XZJ5Nh
>>903
あっそう(^^;
2017/08/09(水) 01:35:22.34ID:s1XZJ5Nh
どうもフラグレジスタのTrap Flagというのをセットすることでシングルステップ実行が出来るらしい…
とても面倒臭いけども自分でコード書いて頑張りますわ
2017/08/09(水) 04:26:02.60ID:deJRgLks
何も知らないド素人同然なのになんでC言語すまたーとか名乗ってんの?
907デフォルトの名無しさん
垢版 |
2017/08/09(水) 05:25:27.23ID:J9yCSat5
てす
2017/08/09(水) 06:39:45.89ID:UBBon8Wk
巣股ー?
2017/08/09(水) 06:40:21.09ID:UBBon8Wk
どうせなら入れたい
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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