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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 8a6f-bDrV)
垢版 |
2017/08/10(木) 20:21:23.44ID:hEocmkh50
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/1500293207/
http://www.geocities.jp/c_cpp_cs/about_c/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/08/31(木) 22:54:22.15ID:F9uWTtxD0
>>196
コードを流用するとね、
void test(a,b)
{
// (A)
hoge(&a,&b); // (B)
piyo(a+b); // (C)
}
で、(B)をconst指定にした時のみ(C)で大胆な最適化を行えるケースは、
・(B)が(C)に影響する副作用を持っていないと「const指定した時のみ」分かる
場合だけだが、これはconst指定ではどうにもならんだろ。

これはプログラマが上位の仕様(test関数の仕様)として規定するものであって。
例えば構造体配列で、(B)は[i]への書き込み、(C)は[j]からの読み出しで、i!=jが上位で保証されているとか。
この場合は、プログラマが最初から(A)(C)(B)の順に書けるんだよ。
そうではなくて、(B)が(C)に対しての副作用を持つ可能性がある場合、つまりi!=jが保証されていない場合、
当然(B)(C)の順にする必要があるけど、
これをconst指定で最適化(=(B)が(C)に対しての副作用を持たないことを保証)することは出来ないでしょ。
206デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/01(金) 02:04:57.35ID:2msaHTP30
>>204
ん、C++のconstは、Cのconstよりも「定数」だぞ
int const a = 1;
switch(1) [
case a: ; //valid in C++, invalid in C
}
2017/09/01(金) 08:48:03.58ID:5GGRc0nid
>>206
すまん、そのコードの意味がわからん
208デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/01(金) 09:06:42.83ID:2msaHTP30
typoしとるな
[は{
2017/09/01(金) 09:55:02.84ID:kxCoop1y0
case ラベルに const な変数の変数名

C++ ならばリテラルと等価となりセーフ
C は変数のままの扱いでアウト
210デフォルトの名無しさん (ワッチョイ 53db-aQR2)
垢版 |
2017/09/01(金) 11:36:56.59ID:IGPoCkp90
Cのconstは変更不可なオブジェクトだからな
2017/09/01(金) 13:20:08.84ID:JSZHio/AM
C++は使える範囲を広くしただけでconstの意味はCといっしょ
constによる最適化の話には関係しない
212デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/01(金) 15:37:25.51ID:2msaHTP30
違う
constはもともとC++発祥のもので、
Cでパクるにあたり微妙に改変した
constは最適化に関係するが
今この流れでは最適化とは全く無関係の話をしている
2017/09/01(金) 16:51:03.36ID:dkwAUCjz0
volatileについてもkwsk
2017/09/01(金) 17:40:42.98ID:XJwe5Q/Z0
ttps://regmedia.co.uk/2011/02/18/dennis-richie-and-brian-kernighan-pdp-11.jpg
こういう時代の揮発性のメモリ
揮発しないメモリもあるんですよ
215デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/01(金) 18:43:10.50ID:2msaHTP30
ビットフェードとvolatileは関係ないぞ
2017/09/01(金) 18:59:13.16ID:dXFBhBz10
コード中の文意では変わってなくても、他の要因で変わる可能性あるような
割り込みやマルチスレッド等で共有してる変数とか
2017/09/03(日) 03:14:53.65ID:GCfgdhr+0
> C++のconstは「定数」ではなく「再代入禁止」だ

代入と初期化を混同してませんか
2017/09/03(日) 08:56:24.33ID:72Px+h1e0
staticについてもkwsk
219デフォルトの名無しさん (ワッチョイ a323-wVzx)
垢版 |
2017/09/03(日) 11:44:42.91ID:jl0cf3RS0
性的な
2017/09/03(日) 12:14:41.26ID:9dM4T0NO0
外からは見えないように、そして、なくさないようにするエロ本
221デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/03(日) 17:40:32.30ID:jXGwZqzU0
一口にstaticと言っても、そのキーワードは用法で意味が変わるからなあ
2017/09/03(日) 17:45:54.60ID:5WRYI1ZX0
static に背負わせすぎな気がする
関数内変数の static
関数スコープ外の static
C++ ならばクラスメソッドのstatic
クラス変数の static もあったかな‥多すぎだ‥
2017/09/03(日) 18:29:43.87ID:fyDk5FSQ0
予約語を減らす涙ぐましい努力
224デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/03(日) 18:47:29.02ID:jXGwZqzU0
C99以後、仮引数のstaticもあるしな
225デフォルトの名無しさん (ワッチョイ ffea-pNuo)
垢版 |
2017/09/04(月) 00:43:28.93ID:QxIkVb9z0
ポインタ関連で*と&の記号を使っているのも
初心者を遠ざけているよな
素直にpointerとかrefとかの予約語作ればよかったのに
2017/09/04(月) 01:05:35.63ID:IeE+YITL0
>>225
もともと高級アセンブラとして生まれた経緯を考えたら、ポインタ関連の基本的な記述のためにはくどいキーワードではなく最もシンプルな演算子が割り当てられるのは自然なことだと思う。
2017/09/04(月) 01:17:41.88ID:rnM3x3Xp0
>>225
C# の ref 宣言のように,宣言だけでなく呼び出し側でも ref が必要だという文法はあってもよかったかな
2017/09/04(月) 02:45:48.86ID:tVodzhFi0
>>224
え?そんなのあった?
229デフォルトの名無しさん (ワッチョイ cf1c-PLFS)
垢版 |
2017/09/04(月) 08:55:10.34ID:pd3pCmCq0
>>228
ISO/IEC9899:1999
6.7.5.3 Function declarators (including prototypes)
21 EXAMPLE 5
void f(double a[restrict static 3][5]);
230デフォルトの名無しさん (ワッチョイ a323-wVzx)
垢版 |
2017/09/05(火) 00:59:51.51ID:2RdPD3ce0
>>229
ああ。そういう使い方か。
2017/09/07(木) 15:42:36.42ID:zsD50ajta
以下の三つの操作に違いはありますか
NはMと比べて十分大きいとします

char s[M];
wchar_t ws[N];
mbstate_t state = {0};
// 1
scanf("%s", s);
wbsrtowcs(ws, &s, N, &state);
// 2
scanf("%ls", ws);
// 3
wscanf(L"%ls", ws);
232デフォルトの名無しさん (ワッチョイ b323-QlH+)
垢版 |
2017/09/08(金) 04:19:51.29ID:LlnxN/9E0
>>231
1のscanf()はchar型で文字列を受け取ろうとするのでエンコードによっては複数バイト文字が全て読めない可能性がある。
例えば2バイトづつのUnicodeの0xff以下のコードがそのまま来た場合、ビッグエンディアンならすぐに0x00が1バイト目に来てしまう。
233デフォルトの名無しさん (エーイモ SE5a-w7pF)
垢版 |
2017/09/08(金) 22:13:19.23ID:Hco6il2OE
兄貴すいません
アロー演算子の使い方を学びたいのですがどこを直せば動くのか教えてください

#include <stdio.h>

struct User {
char name[5];
int age;
};

int main()
{
struct User *u = { "hoge", 10 };
if (u->hoge != NULL) {
printf("%d\n", 1);
} else {
printf("%d\n", 0);
}

return 0;
}
2017/09/08(金) 22:41:39.10ID:R6JsR04N0
>>233
*uじゃなくてsにてもしてuに&sを入れてhogeをnameに変えれば動くけど
これnameが実体だから100% 1が出るよね
2017/09/09(土) 01:43:06.63ID:DK1wXlQ90
struct User {
char *name;
int age;
};

int main()
{
struct User st = { "hoge", 10 };
struct User *u = &st;
if (u->name != NULL) {
 ......
2017/09/09(土) 12:01:06.79ID:KEHxH6tI0
>>233
mallocして中身を詰める

#include <stdio.h>
#include <stdlib.h>

typedef struct{
char name[5];
int age;
}User;

User* new_user(const char* const name, const int age){
User* u = (User*)malloc(sizeof(User));

strcpy(u->name, name);
u->age = age;

return u;
}

int main(){
User* u = new_user("hoge", 10);

if (u->name != NULL) {
printf("%d\n", 1);
} else {
printf("%d\n", 0);
}

return 0;
}
2017/09/09(土) 12:54:39.58ID:Ii5yjdZLa
>>232
なるほど
ありがとうございます

fgets(s, M, stdin);
const char *p = s;
mbsrtowcs(ws, &p, N, &state);
でも1と同様の問題が起こりますか

>>231は関数名と実引数の型を間違えてました
238デフォルトの名無しさん (ワッチョイ b7e4-hwHx)
垢版 |
2017/09/09(土) 16:17:54.34ID:qJRB74Th0
>233
int main(){
return !printf("%d\n",strlen( (&(struct User){.[0]name=0, .age=10, .name={'h','o','g','e'}})->name) 1: 0), 0;
}
char[5] nameとNULLの比較じゃ意味ねーと思うんだわ
239デフォルトの名無しさん (ワッチョイ b323-xkdj)
垢版 |
2017/09/10(日) 04:20:42.87ID:3lFSiHDa0
>>237
大丈夫だと思う。
2017/09/10(日) 09:19:13.64ID:bduAIVLIa
>>238
なんか色々間違ってねーか?
2017/09/10(日) 10:12:13.09ID:3KJHgwTr0
>>238
>>233のような初学者にそんな解読しにくいコードを提示しても意味ねーと思うんだわ
242デフォルトの名無しさん (アウアウカー Sa43-+qdT)
垢版 |
2017/09/10(日) 11:46:48.72ID:uI7cAZFMa
暇すぎたので昨日からC言語の勉強始めましたプログラミング初心者です。
これって趣味にできる?
2017/09/10(日) 11:52:24.67ID:igLJE8zId
できる
2017/09/10(日) 13:39:43.37ID:3lFSiHDa0
そして趣味が高じて仕事にw
245デフォルトの名無しさん (アウアウカー Sa43-+qdT)
垢版 |
2017/09/10(日) 13:42:12.95ID:uI7cAZFMa
今本屋なんだけどどの本で学ぶのがいい?
てかphytonとか他の言語の方が良かったりする?
246デフォルトの名無しさん (アウアウカー Sa43-+qdT)
垢版 |
2017/09/10(日) 13:45:14.25ID:uI7cAZFMa
ちなみに本職は監査法人の公認会計士で監査してるんだけど仕事に役立つならそれに越したことはない
2017/09/10(日) 13:50:00.90ID:SyCSejr00
幅広くエロエロやると上達早いで
もしノイマン型コンピュータの基本知識が
無いのならどこかで学習する必要がある
メモリ、アキュムレーター、インデックスレジスタ…etc
2017/09/10(日) 13:53:38.31ID:rGvjr77j0
>>246
公認会計士の仕事にはなかなか結びつかないだろうけれども…ガンバレ
C/C++ はどちらかというと原始的
python AI/機械学習で今はやり

ゴルフでもなんでも最初は大変だから一定の覚悟が必要
249デフォルトの名無しさん (アウアウカー Sa43-+qdT)
垢版 |
2017/09/10(日) 13:56:43.80ID:uI7cAZFMa
あんま知識は無い。
じゃあC言語とphytonを並行して学ぼうかしら。
250デフォルトの名無しさん (ワッチョイ b323-QlH+)
垢版 |
2017/09/10(日) 14:35:30.74ID:3lFSiHDa0
会計ねえ。Excelとかの本のほうがいいかも知れんな。その方が仕事に結び付けられる事が多くて覚えは早いのではないかと思う。
マクロも一応プログラムだしな。Excelにくっついた形のものではあるが結構色々な事ができる。
で、それがある程度できるようになったらプログラムというものがだいたいどういうものかわかるようになってるだろうから次はVBのように似ているものをやる。
似ているのでこれの習得はかなり早いと思う。それから他の言語を色々やって幅を広げる。
2017/09/10(日) 14:52:01.58ID:SyCSejr00
Excelマクロ…
組むと疲れる、悪い癖が付く等良い所が無い言語
252デフォルトの名無しさん (アウアウカー Sa43-+qdT)
垢版 |
2017/09/10(日) 15:07:37.65ID:uI7cAZFMa
まあ別に趣味だから仕事に役立たなくてもいいぞ
253デフォルトの名無しさん (アウアウカー Sa43-+qdT)
垢版 |
2017/09/10(日) 15:12:20.15ID:uI7cAZFMa
苦しんで覚えるC言語っての買った
2017/09/10(日) 15:23:52.77ID:GVNmgcdo6
苦しめ
2017/09/10(日) 15:29:50.37ID:7And7Hgf0
俺なら楽しんで覚えるけどね
2017/09/10(日) 16:30:29.97ID:TxU3QtzA0
苦Cは買わなくてもネットで読めるのに・・・
2017/09/10(日) 16:52:57.48ID:3KJHgwTr0
見易さではいまだ紙媒体の方が上だと思うし、惜しむほどの額でもないだろう
2017/09/10(日) 17:48:30.86ID:eDTlLPEV0
神聖言語COBOL
259デフォルトの名無しさん (アウアウカー Sa43-+qdT)
垢版 |
2017/09/10(日) 17:58:39.08ID:Z8XrRGDBa
受信したメールの中身を理解して必要なメールと不必要なメールを分け、必要なメールの情報を分かりやすい文章に要約して表示するプログラムC言語で作れる?
ついでに簡単な返信なら自動でしてくれたらありがたいんだが。
260デフォルトの名無しさん (アウアウカー Sa43-+qdT)
垢版 |
2017/09/10(日) 18:04:27.57ID:Z8XrRGDBa
返信が必要なメールと判断した場合は、返信メール本文の例を1万種類ぐらい自動で作成して、その中からより最適なものを3種類ぐらい提示してきてこっちはそれを選ぶだけで良いという機能も欲しいぞ
2017/09/10(日) 18:16:25.18ID:/r+wfg1UM
レス乞食
2017/09/10(日) 18:24:18.77ID:TxU3QtzA0
>>257
それがついこの間デザインがリニューアルされたんだよ
内容は同じだけどw
前よりは見やすくなったかな
2017/09/10(日) 18:26:26.80ID:VNZjd7Zj0
りんなとやり取りするプログラム作って、りんなに判断してもらえ。返信内容も一緒に
2017/09/10(日) 18:40:04.78ID:m2l+DHFcd
SMTP, POP3などのメールプロトコルで、メールサーバとソケット通信。
メールを分類するなら、自然言語処理とベイズ推定が必要。
2017/09/10(日) 18:57:20.96ID:m2l+DHFcd
単純な分類なら、振り分けルールが使えるメーラーを使えば簡単。
2017/09/10(日) 19:00:07.53ID:Fa46oRS50
ヘッダーに書いてあるエンコードが嘘いってて中身は別コードを
なんとか帳尻合わして可視化する部分が厄介 (nkf で大分楽にはなるらしいけど)
267デフォルトの名無しさん (ワッチョイ 0e1c-HB/9)
垢版 |
2017/09/10(日) 19:00:48.08ID:BxaTac1G0
>>259
「必要なメール」とそれ以外の境界を
おまえさんが明確化できるか否かにかかっている
何言語を使おうが同じことだ
Cは推論エンジンそのものを作れる言語で
通信アプリやドライバを作れる言語でもあるので
諦めねばならないアイディアはまずないはず
268デフォルトの名無しさん (アウアウカー Sa43-+qdT)
垢版 |
2017/09/10(日) 19:38:42.01ID:Z8XrRGDBa
>>267
「必要なメール」とそれ以外の境界線はこれまで私自身が行ってきたメールへの対応を見てプログラム自ら学習して欲しい。
また分類や要約は高度な文脈、ニュアンス判断も伴うレベルで行わせたい。
それも様々な小説や文献を通してコンピュータ自ら学習して欲しい。

ちなみにこれ外注したらいくらぐらい?
10万円ぐらいするかな?
2017/09/10(日) 19:44:06.14ID:jwBfW/fF0
10倍ぐらい出せば良いんじゃねーの
2017/09/10(日) 19:46:11.33ID:+BHhCGE8a
linuxでpop/smtpサーバー立てればよくね
スクリプトで特定のワードが見つかったら処理すればいいし
送信はmailコマンドがあるし
2017/09/10(日) 19:47:08.66ID:m2l+DHFcd
>>268
自ら学習するにしても、教師なしでは低品質になる。効率よく学習するためには、コンピュータとの対話(ダイアログ)が必要になる。
2017/09/10(日) 19:52:13.40ID:m2l+DHFcd
深層学習させるにしても、タグ付けの作業が必要になる。
273デフォルトの名無しさん (ワッチョイ 0e1c-HB/9)
垢版 |
2017/09/10(日) 20:10:47.20ID:BxaTac1G0
>>268
267だが、Cは推論エンジンを作れると言ったはず
おまえさん自身はそこから学習しなかったのか?

10万ねえ
支那の国家プロジェクトがどうなっているか知っているか?
支那からのSPAMに「天安門」と書いて返信すると我々にとって
ありがたい動作をしてくれるというアレだ
国家ではないが大企業のAIが共産党は無能とか言い出して
ひと騒ぎにもなったよなあ
おまえさんの10万円のソフトはおまえさんを無能とか
言い出さないか?
274デフォルトの名無しさん (アウアウカー Sa43-+qdT)
垢版 |
2017/09/10(日) 20:26:02.78ID:Z8XrRGDBa
あとC言語でタイムマシン作れる?
といっても未来のインターネット閲覧できる程度でいいんだが。
作れる人いたら10万円までなら出すぜ。
2017/09/10(日) 20:32:37.81ID:m2l+DHFcd
>>274
予測・予想が届く範囲でないと、予知はできない。できたとしても、競馬の予想や天気予報くらいだ。物理法則を超えることはできない。
2017/09/10(日) 20:39:00.76ID:rIACWFTk0
アホなことを書いてしまったと気付いて、ネタだったことにしてごまかそうとしている?
277デフォルトの名無しさん (ワッチョイ 576c-+qdT)
垢版 |
2017/09/10(日) 20:42:41.68ID:I7ZEh6pU0
物理法則なんて人間が考えたものに過ぎないからどうせ間違いだらけでしょ?
2017/09/10(日) 20:50:00.29ID:m2l+DHFcd
深層学習で美少女の画像を大量に生成するという技術はある。未来の人が書きそうな絵を生成することはできる。
279デフォルトの名無しさん (ワッチョイ 3b97-oRRO)
垢版 |
2017/09/10(日) 21:11:06.17ID:n6o1Bnrv0
物理は、むずかしい
2017/09/10(日) 21:39:16.69ID:m2l+DHFcd
へ へ
の の
 も
 へ
2017/09/11(月) 03:08:03.91ID:byfRWwJtM
div B = 0
rot E = -(∂B/∂t)
div D = ρ
rot H = ∂D/∂t + j
2017/09/12(火) 18:24:02.20ID:zVhRA/dD0
C言語覚えればCIAのパソコン
ハッキングできたりするの?
2017/09/12(火) 19:21:49.41ID:8ybhBsXfM
なんでこんなアホがプログラム板にいるんだ?
2017/09/12(火) 19:35:17.20ID:8gurLWtqd
だって、コーダーって大概馬鹿じゃん
2017/09/12(火) 19:59:12.99ID:C09YrKwT0
夏休みはもう終わったぞ
2017/09/12(火) 20:22:37.24ID:E3lbzyXMM
ずっと休みの奴が張り付いてるんじゃね?
2017/09/12(火) 20:40:18.98ID:oYtiliiD0
printf("Hello, work!");
288デフォルトの名無しさん (ワッチョイ 0e1c-HB/9)
垢版 |
2017/09/12(火) 22:47:32.51ID:CGKPtYms0
>>284
馬鹿つっても、少なくともおまえみたいな自宅警備員より1ペタくらいマシだよ
コーダーでやってけてるやつナメてんだろ、おまえ ボケ!
2017/09/13(水) 00:05:26.05ID:iyeBQ3Kc0
コーダーだから馬鹿だとは思わないが、>>288みたいなレスをするのは馬鹿だなと思いました。
2017/09/13(水) 10:49:46.10ID:gIW5dRYoa
>>239
ありがとうございました
2017/09/13(水) 10:57:10.59ID:E2QlRAh70
>>287
puts("Hell 'o work?");
2017/09/13(水) 11:29:24.17ID:tSE5B5Al0
printf("HALO world!");
293デフォルトの名無しさん (ワッチョイ 0e1c-HB/9)
垢版 |
2017/09/13(水) 12:41:46.69ID:cFJcbLHs0
>>289
いいこぶってろクズ
現業がいなきゃ自分じゃ何もできないやつが
現業をバカにするのを見ると虫酸が走るんだよ
2017/09/13(水) 13:17:09.64ID:z6o40qKf0
>>293
安価に取り替えがきくので、低く見られるのはしょうがないと諦めろ
295デフォルトの名無しさん (ワッチョイ 0e1c-HB/9)
垢版 |
2017/09/13(水) 13:33:05.82ID:cFJcbLHs0
人件費のダンピングは国が国民を保護する義務の対象だが
真面目にやってくれなくて我々はその被害を受けているのだ
本来、能力に応じた収入があるべきという感覚そのものを
捨てちまったブタはいいねえ悩みがなくて
2017/09/13(水) 14:36:38.24ID:GgkwnlJN0
>>295
本来能力に応じた報酬を受け取るべきと考えて、それが受け取れない事に不満を持った連中はとっくに逃げ出してる
残ってるお前らは不満を持ちながら逃げ出す事さえ出来ないゴミ
下に見られてもしょうがない
2017/09/13(水) 14:42:45.38ID:yshNp3B/a
確かに馬鹿な奴もいるけどレベルの高い奴もいる。コーダーに限った話じゃないだろ。
日本に馬鹿が多いんだよ。たぶん。
298デフォルトの名無しさん (ワッチョイ 0e1c-HB/9)
垢版 |
2017/09/13(水) 15:31:18.76ID:cFJcbLHs0
>>296
俺より年収1桁少ないやつにだけは言われたくねえぜ
なに、2桁? そりゃ失礼したw
2017/09/13(水) 15:43:10.20ID:lgdTeqni0
3桁ってことか
2017/09/13(水) 16:11:37.47ID:PJsF5JPod
時給だろ。
301デフォルトの名無しさん (ワッチョイ 0e1c-HB/9)
垢版 |
2017/09/13(水) 16:18:46.88ID:cFJcbLHs0
妻子持ちがどのくら金いるか
童貞にはわからんようだな
2017/09/13(水) 16:31:08.86ID:J/ZU3q6K0
板違いが分からないよりマシ
303デフォルトの名無しさん (ワッチョイ 0e1c-HB/9)
垢版 |
2017/09/13(水) 16:42:40.48ID:cFJcbLHs0
284にぬかせボケ
304デフォルトの名無しさん (ワッチョイ 3b00-xkdj)
垢版 |
2017/09/13(水) 17:15:26.17ID:7kZqRPKj0
クソスレ過ぎ笑う
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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