C言語なら俺に聞け 152

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウウー Sa4f-7DQ/)
垢版 |
2019/06/17(月) 18:27:10.41ID:3L1/L9kLa
!extend:checked:vvvvv:1000:512
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/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
※前スレ
C言語なら俺に聞け 151
https://mevius.5ch.net/test/read.cgi/tech/1554171817/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2019/07/26(金) 14:39:22.98ID:BFOSMSUh0
>>798
「プログラミング=プログラムを作ること」なら、日本語の命令を書くことはプログラミングなのかという疑問が生まれませんか?
人間に与える日本語の命令を書いた場合、それはプログラミングと言えるのでしょうか?
2019/07/26(金) 14:41:27.15ID:Tl4mZNhI0
バイナリもアプリもソースコードもプログラムを内包するってことだろ
2019/07/26(金) 14:45:23.07ID:Tl4mZNhI0
IT分野の話じゃないならスレチもいいとこだな
そんなの辞書引けば分かるだろ
2019/07/26(金) 14:49:00.72ID:klJ/NeRW0
>>796
再びムッとしたぞ
人にものを尋ねておいて何だその態度は
失言ではなく性格のようだな
2019/07/26(金) 14:51:29.48ID:6botN/6Ha
verilogはなんとプログラミング言語ではない
804デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/26(金) 14:59:57.10ID:jqp1LWPO0
>>778
単純なマルチバイブレータ連結のカウンタ回路考えたら
段数が多くなるほど速度が遅くなるのは当たり前だもんね!
2019/07/26(金) 15:15:37.98ID:qJvv7Eyl0
CPUの立場では、メモリ上に展開されている機械語のバイナリ列がプログラム
OSの立場では、実行ファイルがプログラム
C言語で記述する人にとっては、ソースファイル(郡)がプログラム

どのレイヤーの話かで意味が変わってくる可能性
2019/07/26(金) 15:15:43.78ID:ueBQXQ8Kd
ムッとしたってちょっと可愛い
807デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/26(金) 15:18:34.64ID:jqp1LWPO0
機械にとっては機械語だけで充分なのに
人間の理解にとって高級言語は必要最低限

認識のちがいとか感受性 によって見方はかわるんかな?w
2019/07/26(金) 15:25:46.61ID:blDrgyi50
用語なんて初めて使われた時の意味、定義化された時の意味、実際に使われてる場面での意味、
全部違ってることなんてザラでしょ。
2019/07/26(金) 15:56:34.19ID:klJ/NeRW0
>>806
わざとやってるんだよ
別にケンカがしたいわけじゃないから
810デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/26(金) 15:56:40.90ID:jqp1LWPO0
>>782
スイッチング特性ってどうなんだろ?
トランジスタのftに依存するんやない?

最近のトランジスタは1815なんかにくらべると桁がだいぶ違うw
811デフォルトの名無しさん (アウアウウー Sacf-hHEI)
垢版 |
2019/07/26(金) 17:11:28.14ID:/z54YWNEa
>>799
言える。これだもの。

プログラム(program)
[名](スル)
1 ある物事の進行状態についての計画や予定。予定表。「新人教育のプログラム」
2 演劇・映画・音楽会・テレビなどの演目・曲目・番組。また、出演者の紹介、解説などを印刷した小冊子や番組表。「雨天によりプログラムが一部変更された」
3 コンピューターへ指示する、計算や仕事の手順を特定の言語や形式で書いたもの。また、それを作ること。
812デフォルトの名無しさん (アウアウウー Sacf-hHEI)
垢版 |
2019/07/26(金) 17:16:39.70ID:/z54YWNEa
更に、日本語のコンピュータ用のプログラムというのもある。
昔々のピュータのBASICだとか、C言語でも関数名や変数名その他に漢字使えるのあったし、Javaとかでも識別子に漢字使えるし。
813デフォルトの名無しさん (アウアウウー Sacf-hHEI)
垢版 |
2019/07/26(金) 17:19:19.65ID:/z54YWNEa
あ、ピュータじゃなくてぴゅう太だな。
https://ja.m.wikipedia.org/wiki/%E3%81%B4%E3%82%85%E3%81%86%E5%A4%AA
2019/07/26(金) 17:44:43.58ID:6botN/6Ha
utf8が普及して、今の方がむしろ普通に日本語使えるようになったと思うよ
2019/07/26(金) 18:04:58.65ID:/WSqmbNMM
だな、今時メジャーな環境で識別子に漢字とか使えない方が珍しい
2019/07/26(金) 18:20:14.54ID:4cv+0ZCY0
絵文字が普及して外人の作るプログラムがマルチバイト文字に完全に対応してきた
それまでは結構ダメダメだった
2019/07/26(金) 20:18:37.20ID:PsTZ+gqN0
識別子に漢字使えるのにスペースは全角だとコンパイルエラーなのがちょっと納得いかない
818デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/26(金) 20:49:01.65ID:jqp1LWPO0
0xE38080がUTFのスペース
0x20 がアスキーコード

いまやってみたら全然ちがうやんかw  
2019/07/26(金) 20:51:55.69ID:XFvYTg6ka
>>797
言葉の意味は文脈で異なる。
ある言葉と別の言葉の関係は一致か不一致かだけでなく、包含したり一部のみ重複したりもする。
2019/07/26(金) 21:21:44.32ID:PuJwVoXL0
>>779
>2入力ゲートだけでCLA作れるし
そんなことをしたら「素子数ばかり馬鹿みたいに食らって速度はリップルキャリーと同一の遅さ」で、なんのためのキャリールックアヘッドなのかわからない、という悲惨な結果になりませんか?
2019/07/26(金) 21:22:53.46ID:PuJwVoXL0
>>781
ありえないですね、キャリールックアヘッドは多入力で速度を稼ぐやりかたですよ、2入力に制限したらリップルキャリーと全然かわらないじゃないですか?
822デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/26(金) 21:24:29.66ID:jqp1LWPO0
キャッシュの容量とかパイプラインのちょうどいい区切りとか
まで考えてプログラミングなんてはっきり言ってやってませんw
手抜きでしょうか?
2019/07/26(金) 21:50:39.91ID:OWnIAxmG0
演算器の設計 - 加算器(Adder)
https://news.mynavi.jp/article/computer_architecture-70/

演算器の設計 - キャリールックアヘッドアダー(1)
https://news.mynavi.jp/article/computer_architecture-71/

演算器の設計 - キャリールックアヘッドアダー(2)
https://news.mynavi.jp/article/computer_architecture-72/

パラレルプリフィックスアダー
https://news.mynavi.jp/article/architecture-73/

パラレルプリフィックスアダー(2)
https://news.mynavi.jp/article/architecture-74/

パラレルプリフィックスアダー(3)
https://news.mynavi.jp/article/architecture-75/

Lingアダー
https://news.mynavi.jp/article/architecture-76/

アダーの実装に関して
https://news.mynavi.jp/article/architecture-77/
2019/07/26(金) 22:01:03.66ID:rLMbRFKca
>>821
いや、文字通り先読みが本質だと思いますよ
ゲートはいくつあってもいい
2019/07/26(金) 22:10:45.70ID:PuJwVoXL0
>>824
>文字通り先読みが本質だと思いますよ
薄っぺらい理解ですね
3 bit, 4 bit なりの アッダーを決めて、その MSB の和を作るのに必要な入力をじっと眺めて本質をつかんでください
単なる先読みではありませんよ

>ゲートはいくつあってもいい
速くなるならね
でも 2 入力論理演算だけで作ったキャリールックアヘッドは速くならない…
2019/07/26(金) 22:18:01.82ID:rLMbRFKca
>>825
そら、速い方がいいし回路もシンプルな方がいいですよ。
しかし、桁上がりを待ってるのと同じではないでしょうて。たとえ2入力ゲートを使ったとしても。
2019/07/26(金) 22:19:49.76ID:PuJwVoXL0
>>826
ご発言の意味が掴みきれません
2019/07/26(金) 22:29:27.26ID:rLMbRFKca
>>827
そりゃもう、読んでないですからね
829デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/26(金) 22:40:58.04ID:jqp1LWPO0
ディスクリートトランジスタでマルチバイブレータを組んでそれで
カウンタ組んだの思い出したw
動くと感動するよね!w
830デフォルトの名無しさん (ワッチョイ 068c-/dZp)
垢版 |
2019/07/26(金) 22:54:34.12ID:uEgiR7UH0
現在はキャリー選択アダーに集約された
2019/07/26(金) 22:58:11.64ID:rLMbRFKca
分岐予測みたいなの?
832デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/26(金) 23:13:04.56ID:jqp1LWPO0
基本はマルチバイブレータでつくった順序回路w

なんだもんなぁw
2019/07/26(金) 23:28:36.00ID:PBeJ5BeU0
この言語は扱うものが多くて頭がオーバーフローします
たとえば正規表現は
int regcomp(regex_t *preg, const char *regex, int cflags)
int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
void regfree(regex_t *preg)

これを見る度に数がおおくて何書いているのか分からなくなる
834デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/26(金) 23:35:15.29ID:jqp1LWPO0
コンパイラつくってるんか?
2019/07/26(金) 23:41:52.05ID:PBeJ5BeU0
いいえ
コマンドライン引数の場合訳に正規表現がつかえると嬉しいのです
836デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/26(金) 23:48:25.73ID:jqp1LWPO0
>>835
たとえばどんな引数?
2019/07/26(金) 23:48:58.54ID:Tl4mZNhI0
JSのmatchみたいなラッパー書けばいいじゃん
2019/07/27(土) 00:05:22.95ID:1cAkezH+0
>>836
1~62の整数かt,today,n,nowかr,randomか無し
でした

perl ではこう書いてました
https://pastebin.com/txgSvNix
2019/07/27(土) 09:19:50.11ID:zJ973H0i0
>>821
お前まさか、16入力のANDを2入力ゲートで作れと言われたら、
縦に15個並べて順に接続するんじゃないだろうな。
2019/07/27(土) 09:22:21.76ID:S4xnN4vA0
2019/07/27(土) 09:52:34.76ID:BeYdmmLD0
>>839
普通にトーナメント方式に15個ならべますよ
2019/07/27(土) 10:00:34.00ID:zJ973H0i0
>>841
じゃ、RCAは遅延がO(n)で、CLAはN入力ゲートがあるならO(1)、2入力ゲートに制限してもO(log n)って気づくだろ。
2019/07/27(土) 10:08:46.04ID:S4xnN4vA0
qzは話通じてなさそうだな
2019/07/27(土) 10:24:42.39ID:BeYdmmLD0
>>842
そうか log n くらいには改善されるわけですね…てへぺろ
2019/07/27(土) 12:29:43.04ID:x/Y2IYID0
相変わらずの屑っぷり
846デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/27(土) 22:29:55.84ID:7WTVPtxd0
ゲート容量分の時間誤差は絶対生まれるかんな(´・ω・`)
2019/07/27(土) 23:01:09.08ID:zJ973H0i0
意味のわからん時間誤差とかいう用語、未定義で使うな
848デフォルトの名無しさん (ワッチョイ 8aad-hCJc)
垢版 |
2019/07/27(土) 23:32:10.40ID:AqzO7oC20
>>833
俺にはわかる。

慣れの問題では?
まあでも慣れるかどうかは個人差あるしこの言語で慣れねばならないなんてことはないので気にせず他の自分がわかりやすいと感じた言語使えばいい。
849デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/27(土) 23:44:22.86ID:7WTVPtxd0
>>848
それって正規表現をどう変換する関数なの?
2019/07/27(土) 23:54:17.87ID:p4Dr/Hvv0
regexpをcompileするって概念はスクリプト言語ですら大抵存在するのに

NFAやらDFAやらだったり専用VMのバイトコードに落としたりと色々だろ
851デフォルトの名無しさん (ワッチョイ 8aad-hCJc)
垢版 |
2019/07/28(日) 00:01:11.58ID:JTvgZUGV0
>>849
最初のはパターンのコンパイル。次のは文字列とコンパイル済みパターンとのパターンマッチングをさせる関数。
詳細はマニュアルページ見るなりググるなりして調べてくれ。
852デフォルトの名無しさん (ワッチョイ 8aad-hCJc)
垢版 |
2019/07/28(日) 00:05:40.59ID:JTvgZUGV0
まあしかし>>838に書いてあるような内容なら正規表現使わないで単純な比較をするだけの方が速いしプログラムもわかりやすくなるような気がするなあ。
853デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/28(日) 00:58:43.04ID:bTD+Zgyn0
>>851
行ごとに文字列を細分化して それで当てはめていくって感じかな?
正規表現関係はけっこう頭抱えるもんね!
854デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/28(日) 01:00:17.13ID:bTD+Zgyn0
C言語のソースメモをオートインデントして整理しようとプログラムくんだけど
こういった関数つかって分岐かけていったほうが完璧なんかな?

でも時間すごい掛かりそうw
2019/07/28(日) 07:30:52.18ID:S9RT+Rd/d
>>854
そのプログラムを書く手間を自動化してみては?
2019/07/28(日) 07:43:00.67ID:OCkB7AjV0
unixのindentコマンドか
本末転倒を体現する変なやつ
857デフォルトの名無しさん (アウアウウー Sacf-hHEI)
垢版 |
2019/07/28(日) 16:13:19.81ID:kBOAQwNYa
>>818
てか、Unicodeのスペースって沢山あるよ。
Wikipediaで「スペース」で検索して見てみな。
2019/07/28(日) 16:21:28.48ID:QNzNEkbM0
たくさんあるとなると「空白」の検索めんどくない?
859デフォルトの名無しさん (ワッチョイ 0aab-96Ml)
垢版 |
2019/07/28(日) 17:31:05.61ID:bTD+Zgyn0
>>856
何もオプションを付けないindentコマンドを実行すると
予想外のソースコードが出てくる可能性が高い とか書いてるひといるね!

インデントフォーマットって好みが人それぞれ違うから自分専用のもっててもええのかも?w
860デフォルトの名無しさん (アウアウウー Sacf-hHEI)
垢版 |
2019/07/28(日) 19:58:58.85ID:H3r8YGb9a
>>858
そう。面倒だよ。

ま、しかし、wchar_t型使えるならiswspace()とか色々判定する関数が使える。
http://www.c-tipsref.com/reference/wctype.html
2019/07/29(月) 21:48:56.61ID:CSar0obtd
https://i.imgur.com/J5yu9wS.jpg
2019/07/30(火) 19:03:35.73ID:6XKWfMZ+a
>>861
グロ
863デフォルトの名無しさん (ワッチョイ eda3-hJCQ)
垢版 |
2019/08/01(木) 00:35:30.91ID:0yunxMSQ0
>>817
Whitespaceごっこできないようにだろw
2019/08/04(日) 23:25:49.23ID:xIOvQDiR0
c言語って今どんな仕事あんの?
2019/08/05(月) 05:36:47.62ID:QAwvndB40
>>864
ハードと無線の知識があればIoTが花盛り。
866デフォルトの名無しさん (アウアウウー Sa09-XqET)
垢版 |
2019/08/05(月) 18:15:51.34ID:ffPl9KHXa
機械の試運転してるんだけど組み込みの部署に行きたい。どう勉強すればええ?
2019/08/05(月) 18:38:57.75ID:LSG3ddZk0
機械の試運転とは?
868デフォルトの名無しさん (アウアウウー Sa09-XqET)
垢版 |
2019/08/05(月) 19:55:27.73ID:ffPl9KHXa
>>867
配線やら電気系のことして実際に動くかどうかを確認して不具合が出たら直す仕事
2019/08/05(月) 20:02:47.76ID:s1STjseDM
>>866
まずは日本語からかな
言いたい事が人に伝わるようになれ
2019/08/05(月) 20:55:17.19ID:sY7ZsQgE0
>>868
電子じゃない電気なの?
2019/08/05(月) 21:11:13.17ID:9k1HrfSt0
ひょっとしてシーケンサー?
872デフォルトの名無しさん (アウアウウー Sa09-XqET)
垢版 |
2019/08/05(月) 22:17:01.04ID:ffPl9KHXa
>>870
工業の情報卒なんだけど電気系に配属されたんやで。
PLCで動く機械もあるし、C言語で動く機械もあるで
2019/08/05(月) 23:05:42.62ID:80MqE3Goa
車載系の仕事は最近多いよ
でもCじゃなくてC++だと思う。規格的に。
2019/08/07(水) 00:38:42.49ID:TX6V/c5+0
だいぶ前(20年ぐらい前)からですが
C言語で配列の範囲オーバーすると
ほぼ必ずSegmentation Faultになるようになった

メモリ上の配置を考えたら
ちょっと範囲オーバーしたからって滅茶苦茶な値を読み込みながら普通に動くはず
毎回コンパイラが範囲チェックするようなマシン語吐いてるんでしょうか?
2019/08/07(水) 00:49:22.22ID:xA4g5oLMa
でかいプログラムなら余裕があるから今でも結構耐えると思うけどね
ASLRのせいとか?
2019/08/07(水) 08:05:09.03ID:hSQIkEVZM
配列のメモリ配置をページ境界ぎりぎりに配置するようになってるリンカを使ってるとか。

環境わからんからなんとも言えんが、ちょっとはみ出した程度で障害を検知するようなメモリ配置するリンカは使ったこと無いので、もしあるなら環境知りたいわ。
2019/08/07(水) 19:29:43.79ID:kvH3ILvqM
「ちょっと」がどれくらいか知らないけど
プログラムの割当範囲超えて読み出せたらセキュリティ問題になりそうだから
OS側でエラーにしてるんじゃね

20年くらい前ってことはWin2000とか
NT系列が普及してきた頃か
2019/08/07(水) 19:37:57.75ID:6yYkldJK0
>>877
>OS側でエラーにしてるんじゃね
どうやって…
2019/08/07(水) 20:03:18.62ID:gw5PInHpH
1バイトでもずれたらエラーにするようなおせっかいな
Cコンパイラなんて実用的に使われるはずないし、
それを検出するようなOSも存在しないから心配するな。
「ほぼ」必ずがどんなもんか知らんが、
環境も書かないうろ覚え情報は価値なし。
2019/08/07(水) 20:21:39.49ID:klXV3cZTa
segvってそもそも誰が出してんの?
CPU?
2019/08/07(水) 20:28:42.51ID:fbTDynTX0
>>880
まあ大体そう
最近メモリコントローラは実家に戻って子供部屋おじさんになった
2019/08/07(水) 20:33:14.32ID:SR2YpJo70
工期ではCPUで良いけど正確にはMMUだな。
2019/08/07(水) 20:33:45.96ID:SR2YpJo70
✕工期
○広義
884デフォルトの名無しさん (スフッ Sdfa-xky6)
垢版 |
2019/08/08(木) 21:20:13.27ID:gHNDo6wMd
C言語のポインタで
構造体の中で char *a; でメンバを入れてその後 bc.a=なんちゃら〜 で中身を入れれる意味がわかりません(bcは適当)

この時のaはchar型のアドレスを入れる用の箱じゃないんですか?
2019/08/08(木) 21:29:57.24ID:DLp++heI0
>>884
その中身はchar*なんでしょ
2019/08/08(木) 21:36:44.22ID:6z4gxBSLH
>>884
なんちゃら〜が不明。もっとちゃんと引用して。
2019/08/08(木) 21:43:20.35ID:ggjVn3y20
>>884
ん?
代入でbc.aのポインタが指す先の中に入れられると思ってるのか?それは気のせいだ
2019/08/08(木) 22:22:51.59ID:tebxUNsfa
>>884 はマルチポスト
スレ立てるまでもない質問はここで 149匹目
https://mevius.5ch.net/test/read.cgi/tech/1529199088/567n
889デフォルトの名無しさん (ワッチョイ 7144-1zmT)
垢版 |
2019/08/08(木) 23:56:48.32ID:Z+gh8ecz0
コピペで事務仕事をある程度自動化できる程度やけとプログラマになってもええか?
組んだことあるのはJAVAとCとVBAや。ポインタはイマイチよく分かっとらん。
2019/08/09(金) 00:24:13.05ID:6e2j91pda
注力するならC#がええと思いますよ
2019/08/09(金) 03:31:58.24ID:P0R/OZlj0
>>889
なってもいいけどそのレベルで食っていけるかどうか知らん
2019/08/09(金) 07:05:24.58ID:wDIMdjXm0
今食っていけてるんだから大丈夫だろ
2019/08/09(金) 07:11:48.85ID:UutwPLbs0
>>889
やりたいならやればいい
人にやめとけって言われたらやめるのか?
人に聞くことじゃないぞ
894デフォルトの名無しさん (ワッチョイ 7144-1zmT)
垢版 |
2019/08/09(金) 23:21:54.71ID:DquSwjO80
今は製造管理部や。いつかはシステム系の仕事がしたい
2019/08/10(土) 22:18:15.47ID:J1bMQiAW0
Ansibleでもやってろ
2019/08/11(日) 19:14:52.47ID:NrvveISi0
コピペ事務員がC言語で何すんの?
システム系って具体的になにがやりてーの?
2019/08/11(日) 19:58:13.13ID:XjjjEpxU0
ウサギとカメだなw
898デフォルトの名無しさん (アウアウウー Sa39-1zmT)
垢版 |
2019/08/11(日) 22:26:43.29ID:DBEcd/Mha
>>896
くみこみ
2019/08/12(月) 14:25:50.36ID:awsnfbDbp
C言語を趣味で勉強し始めて、苦C、プログラム言語Cを読んだだけでまだまともなプログラムを書いたことない者です。
実践を兼ねて職場で使えるプログラムを書いてみようと思っています。
職場環境がセキュリティの関係で新しいソフトなど入れられず、エクセルは元から入っている状況です。
やりたいことは日付と紐付いた情報群(8/1,a=12,c=20: 8/3, b=30, c=40)を複数個入れて、特定の日付に最も近い情報を任意の順番で並び替えながら取り出す(8/5: 8/1, a=12; 8/3, b=30; 8/3, c=30)ということです。
C言語の勉強にと思ったのですがこの状況だとVBAを勉強してエクセルでマクロを組む方がいいでしょうか…ご教授願います><
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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