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
C言語なら俺に聞け 143
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b375-rVGZ)
2017/10/27(金) 21:28:08.20ID:pAogLeJi0412デフォルトの名無しさん (ワッチョイ ae6e-Eq1o)
2017/11/20(月) 23:56:46.22ID:ZHV8ZCmh0 おまえ自身は何も言わないわけか
413デフォルトの名無しさん (ワッチョイ e92b-0hG5)
2017/11/21(火) 00:13:10.99ID:j0/qDr3U0 ++は対象がレジスタに乗ってるときに1命令だろ
とくにアドレスレジスタの場合に *p++ をポストインクリメントレジスタ間接アクセス命令にそのまま置き換えられるから、
オプティマイズがまだ発達してなかったころに重宝したはず
とくにアドレスレジスタの場合に *p++ をポストインクリメントレジスタ間接アクセス命令にそのまま置き換えられるから、
オプティマイズがまだ発達してなかったころに重宝したはず
414デフォルトの名無しさん (ワッチョイ ae6e-Eq1o)
2017/11/21(火) 06:23:40.67ID:uBkGRn7P0 そのバヤイは0.5命令だね
* と ++ を同時並列でやるわけで
* と ++ を同時並列でやるわけで
415デフォルトの名無しさん (ワッチョイ a193-oo0Z)
2017/11/21(火) 06:30:17.80ID:VCAIytbF0 >>411 実際のマシンとは関係のない、問題のための問題だから
問題を作った人の答えが正解というルールは仕方ないとして…。
i++ が1ステップなのか2ステップなのか、という疑問が出るスレッドで、
f = f*i はまとめて1ステップです、という解説が現れるのは予想外だったわ。
f*i が四則演算で1ステップ、fへの代入でもう1ステップ、と思うよね。
問題を作った人の答えが正解というルールは仕方ないとして…。
i++ が1ステップなのか2ステップなのか、という疑問が出るスレッドで、
f = f*i はまとめて1ステップです、という解説が現れるのは予想外だったわ。
f*i が四則演算で1ステップ、fへの代入でもう1ステップ、と思うよね。
416デフォルトの名無しさん (ワッチョイ 4976-RVzq)
2017/11/21(火) 07:23:37.68ID:V9LM9CF/0 単純に行数で示す場合もあるし
いろいろだよ
重要なのは計算オーダーと実測値
ステップ数は計算オーダーを見積もる為の道具で
定数倍はわりとどうでも良い
計算量をもっと正確な値を知りたい時は
加減算○回、乗算○回、除算○回
など、より具体的な値とする
いろいろだよ
重要なのは計算オーダーと実測値
ステップ数は計算オーダーを見積もる為の道具で
定数倍はわりとどうでも良い
計算量をもっと正確な値を知りたい時は
加減算○回、乗算○回、除算○回
など、より具体的な値とする
417デフォルトの名無しさん (スップ Sd82-LOf1)
2017/11/21(火) 09:57:32.04ID:6BA+Ife8d 末尾に/が入っていたとき全て削除したいのだけどどうすれば簡単に実装できるだろうか
データはcharの配列に入っている
ex
aaa.txt
aaa.txt/→aaa.txt
aaa.txt/////→aaa.txt
データはcharの配列に入っている
ex
aaa.txt
aaa.txt/→aaa.txt
aaa.txt/////→aaa.txt
418デフォルトの名無しさん (スップ Sd82-LOf1)
2017/11/21(火) 10:04:28.94ID:6BA+Ife8d あとsystem関数の戻り値の判定に悩んでます
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/system.3.html
上記参考にしたら四つのケースに別れていて
下二つはwexitなどのマクロで取得可能
上二つの内ひとつはnullチェックで弾くこと可能
残りは子プロセス作成失敗の-1で網羅できてると考えているのだけど間違ってるのかな?
やりたいことは
system関数のコマンドライン実行したアプリのステータスコードを取得したい。そのためにマクロ使ってる
ただ子プロセスの取得云々の前にsystemの結果判定必要なんでは?と指摘を受けて修正してるのだけどsystemの返す値がさっぱりわからなくて困ってます
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/system.3.html
上記参考にしたら四つのケースに別れていて
下二つはwexitなどのマクロで取得可能
上二つの内ひとつはnullチェックで弾くこと可能
残りは子プロセス作成失敗の-1で網羅できてると考えているのだけど間違ってるのかな?
やりたいことは
system関数のコマンドライン実行したアプリのステータスコードを取得したい。そのためにマクロ使ってる
ただ子プロセスの取得云々の前にsystemの結果判定必要なんでは?と指摘を受けて修正してるのだけどsystemの返す値がさっぱりわからなくて困ってます
419デフォルトの名無しさん (ワッチョイ c58a-cb0a)
2017/11/21(火) 10:38:25.75ID:IvGEWozr0 >>417
自分ならstrtok関数を使う
自分ならstrtok関数を使う
420デフォルトの名無しさん (スップ Sd82-LOf1)
2017/11/21(火) 10:49:16.27ID:6BA+Ife8d421デフォルトの名無しさん (ササクッテロラ Spd1-lqMT)
2017/11/21(火) 10:54:29.00ID:rkhjnhkRp 俺様専用脳内マシンは1ステップ命令に変換するんだから1ステップなんだ!!
アホらし。
アホらし。
422デフォルトの名無しさん (ワッチョイ c58a-vU7N)
2017/11/21(火) 10:58:18.95ID:0pj8KC/M0 >>420
末尾の/を取り除きたいのか、頭のファイルパスを取り除きたいのか、よく分からないけど、/を区切り文字として文字列を分割さえしてしまえばどうにでも出来る
末尾の/を取り除きたいのか、頭のファイルパスを取り除きたいのか、よく分からないけど、/を区切り文字として文字列を分割さえしてしまえばどうにでも出来る
423デフォルトの名無しさん (エーイモ SEed-Aqvu)
2017/11/21(火) 11:41:02.99ID:qTGygbeTE gcc -lライブラリ名 hoge.c
stdio.hと同じフォルダに自分が使いたいヘッダーファイルが存在してるのに
いちいち-lライブラリ名ってしないと参照できないんです
どうしてstdio.hは-lstdioって書かなくても使えるのに自分がインストールしたヘッダーファイルはいちいち-lで指定しないと使えないんでしょうか?
すか?
stdio.hと同じフォルダに自分が使いたいヘッダーファイルが存在してるのに
いちいち-lライブラリ名ってしないと参照できないんです
どうしてstdio.hは-lstdioって書かなくても使えるのに自分がインストールしたヘッダーファイルはいちいち-lで指定しないと使えないんでしょうか?
すか?
424デフォルトの名無しさん (スッップ Sd22-9aoE)
2017/11/21(火) 12:27:08.32ID:ylDmWfHBd425デフォルトの名無しさん (スプッッ Sdca-RVzq)
2017/11/21(火) 13:06:11.86ID:b7HcaLG8d426デフォルトの名無しさん (スプッッ Sdca-RVzq)
2017/11/21(火) 13:13:57.97ID:b7HcaLG8d null-endと仮定するなら普通にこれで良い
int i;
for (i = strlen(配列) - 1; i >= 0; i--)
if (配列[i] != '/') break;
配列[i+1] = '\0';
int i;
for (i = strlen(配列) - 1; i >= 0; i--)
if (配列[i] != '/') break;
配列[i+1] = '\0';
427デフォルトの名無しさん (ワッチョイ c58a-cb0a)
2017/11/21(火) 13:34:45.06ID:IvGEWozr0428デフォルトの名無しさん (ワッチョイ ae6e-Eq1o)
2017/11/21(火) 14:23:21.10ID:uBkGRn7P0429デフォルトの名無しさん (ワッチョイ ae6e-Eq1o)
2017/11/21(火) 14:47:42.58ID:uBkGRn7P0430デフォルトの名無しさん (ワッチョイ e18a-H2sc)
2017/11/21(火) 19:27:53.90ID:5ScqS7z90431デフォルトの名無しさん (ドコグロ MMca-ZIVp)
2017/11/21(火) 20:38:46.08ID:IlBdcuWwM432デフォルトの名無しさん (ワッチョイ feeb-MUuo)
2017/11/21(火) 21:45:59.93ID:EZGPgPj40 まあ、先の問題については、ステップの厳密な定義が読み取れないし。
回答者の説明に矛盾がなければ○でいいと思うわ。
それでも誤答とされてしまったら、出題者がウンコだと思って忘れるレベル。
回答者の説明に矛盾がなければ○でいいと思うわ。
それでも誤答とされてしまったら、出題者がウンコだと思って忘れるレベル。
433デフォルトの名無しさん (スップ Sd82-LOf1)
2017/11/21(火) 22:17:44.53ID:6BA+Ife8d >>428
やはり正規表現か
やはり正規表現か
434デフォルトの名無しさん (ワッチョイ 7d7f-GXP8)
2017/11/21(火) 22:26:46.51ID:6oQfsQ1l0 スクリプトとかならまだしも
Cで末尾の/削るためだけに正規表現とか持ち出すのは馬鹿だと思う
Cで末尾の/削るためだけに正規表現とか持ち出すのは馬鹿だと思う
435デフォルトの名無しさん (ワッチョイ 6e81-RjUU)
2017/11/21(火) 22:38:13.64ID:IS6cxUc80 replace("/$","");//うろおぼえ
なんでよ簡潔にかけて最高じゃないか
正規表現は心の友
すぐ忘れるけど
なんでよ簡潔にかけて最高じゃないか
正規表現は心の友
すぐ忘れるけど
436デフォルトの名無しさん (ワッチョイ 6e81-S+5X)
2017/11/21(火) 22:48:24.18ID:n0bc2/yX0 >>435
末尾に連続する'/'が有ったら、消さないと
末尾に連続する'/'が有ったら、消さないと
437デフォルトの名無しさん (ワッチョイ 6e81-S+5X)
2017/11/21(火) 23:25:32.21ID:n0bc2/yX0438デフォルトの名無しさん (ワッチョイ 7d7f-GXP8)
2017/11/21(火) 23:33:58.03ID:6oQfsQ1l0439デフォルトの名無しさん (ワッチョイ 6e81-RjUU)
2017/11/21(火) 23:45:43.58ID:IS6cxUc80 std::regex_replaceってちがうんか?
440デフォルトの名無しさん (ワッチョイ 7d7f-GXP8)
2017/11/21(火) 23:48:20.93ID:6oQfsQ1l0 は?
C言語のスレでC++を持ち出してきて何が言いたいの?
C言語のスレでC++を持ち出してきて何が言いたいの?
441デフォルトの名無しさん (ワッチョイ 6e81-RjUU)
2017/11/21(火) 23:48:43.70ID:IS6cxUc80 なんてこったい
442デフォルトの名無しさん (ワッチョイ 919f-8CrJ)
2017/11/22(水) 00:18:19.23ID:CvPbHYJg0 >>417
こんなのはどうかなあ。
char *s が元になる文字列へのポインタ。p は char *p。
for (p = strrchr(s, '/'); p && p >= s && *p == '/' && ! *(p + 1); *p-- = '\0');
こんなのはどうかなあ。
char *s が元になる文字列へのポインタ。p は char *p。
for (p = strrchr(s, '/'); p && p >= s && *p == '/' && ! *(p + 1); *p-- = '\0');
443デフォルトの名無しさん (ワッチョイ 919f-8CrJ)
2017/11/22(水) 01:37:39.91ID:CvPbHYJg0 >>418
こんな感じかねえ。
if (cmd) {
int s = system(cmd);
if (s == -1) {
// 子プロセス作成失敗またはステータス取得失敗
} else if (WIFEXITED(s)) {
// 子プロセスは正常に終了した。
int es = WEXITSTATUS(s);
// es の内容が子プロセス側での exit(es) または return es
// これはたいてい 0 以外がエラーになっている。0なら成功。
} else if (WIFSIGNALED(s)) {
// 子プロセスはシグナルで中断して終わった。
// (人が Ctrl+C をキーから押したとか、kill したとか、プログラムバグってて core dump したとか 0 で割ったとか)
// シグナルの意味は signal(7) の man page 見るとわかる。
int sg = WTERMSIG(s);
// sg にシグナル番号が入る。
}
}
こんな感じかねえ。
if (cmd) {
int s = system(cmd);
if (s == -1) {
// 子プロセス作成失敗またはステータス取得失敗
} else if (WIFEXITED(s)) {
// 子プロセスは正常に終了した。
int es = WEXITSTATUS(s);
// es の内容が子プロセス側での exit(es) または return es
// これはたいてい 0 以外がエラーになっている。0なら成功。
} else if (WIFSIGNALED(s)) {
// 子プロセスはシグナルで中断して終わった。
// (人が Ctrl+C をキーから押したとか、kill したとか、プログラムバグってて core dump したとか 0 で割ったとか)
// シグナルの意味は signal(7) の man page 見るとわかる。
int sg = WTERMSIG(s);
// sg にシグナル番号が入る。
}
}
444デフォルトの名無しさん (ワッチョイ 919f-8CrJ)
2017/11/22(水) 02:48:21.29ID:CvPbHYJg0445デフォルトの名無しさん (ワッチョイ a193-oo0Z)
2017/11/22(水) 06:57:55.87ID:ehTxx6H60 >>431
f = f*i を f *= i と解釈して1ステップか、それもありうる。
f = f*i を f *= i と解釈して1ステップか、それもありうる。
446デフォルトの名無しさん (ドコグロ MM41-ZIVp)
2017/11/22(水) 08:11:12.98ID:W0SJQGiTM >>445
それもありうるって言うかそうでない処理系の方が珍しいだろ
それもありうるって言うかそうでない処理系の方が珍しいだろ
447デフォルトの名無しさん (ワッチョイ 4976-RVzq)
2017/11/22(水) 08:30:23.30ID:OmrPXxhs0 元の問題が、演算と代入とそれぞれ1ステップって書いてあるんだから
そこを議論しても意味がない
そこを議論しても意味がない
448デフォルトの名無しさん (アウアウカー Sa49-EHym)
2017/11/22(水) 14:50:29.32ID:5BCPAAz7a これ教えてくれ
https://i.imgur.com/fK9MpEP.jpg
https://i.imgur.com/fK9MpEP.jpg
449デフォルトの名無しさん (ワッチョイ ae6e-Eq1o)
2017/11/22(水) 15:08:01.31ID:qJn/S+Fz0 面倒くせえ奴らだなあ。。。
//aho.cpp
extern "C" char* regex_replace(char* str, size_t n, char const* pat, char const* put) noexcept
{
try
{
string buff{str};
buff = regex_replace(buff, regex{pat}, put);
strncpy(str, buff.data(), n);
return str;
}
catch(...) {}
return nullptr;
}
//aho.cpp
extern "C" char* regex_replace(char* str, size_t n, char const* pat, char const* put) noexcept
{
try
{
string buff{str};
buff = regex_replace(buff, regex{pat}, put);
strncpy(str, buff.data(), n);
return str;
}
catch(...) {}
return nullptr;
}
450デフォルトの名無しさん (ワッチョイ ae6e-Eq1o)
2017/11/22(水) 15:08:31.73ID:qJn/S+Fz0 //baka.c
char* regex_replace(char*, size_t, char const*, char const*);
int main()
{
char buff[100];
while(fgets(buff, 100, stdin))
if(regex_replace(buff, 100, "/+$", "")) puts(buff);
else puts("error");
}
char* regex_replace(char*, size_t, char const*, char const*);
int main()
{
char buff[100];
while(fgets(buff, 100, stdin))
if(regex_replace(buff, 100, "/+$", "")) puts(buff);
else puts("error");
}
451デフォルトの名無しさん (ワッチョイ ae6e-Eq1o)
2017/11/22(水) 15:08:55.87ID:qJn/S+Fz0 rem test.bat
cl baka.c aho.cpp /EHsc && baka
ったく世話の焼ける(ぶつぶつ
cl baka.c aho.cpp /EHsc && baka
ったく世話の焼ける(ぶつぶつ
452デフォルトの名無しさん (アウアウカー Sa49-EHym)
2017/11/22(水) 15:31:36.02ID:5BCPAAz7a ありがとうございます!
453デフォルトの名無しさん (ワッチョイ 02ab-RuWE)
2017/11/22(水) 17:50:15.00ID:MV3BmYS20 初心者です、教えていただけませんか?
大文字の配列を小文字にするコードなのですが
1 int main(){
2 int i;
3 char str[]={'A','B','C'};
4
5 for(i=0;i<3;i++)
6 {
7 str[i]=str[i]+'a'-'A';
8 }
9 return 0;
10
11 printf("答え \n");
12 for(i=0;i<3;i++)
13 {
14 printf("%c\n",str[i]);
15 }
16 return 0;
17 }
を実行すると 「Info: Nothing to build for Hello」 となります。
5行目から9行目までを削除して実行すると答えは大文字で「ABC」となります
5行目から9行目の文法がおかしいと思うのですが何処がおかしいのかわかりません
誤っている個所をご指導頂けないでしょうか?よろしくお願いします。
大文字の配列を小文字にするコードなのですが
1 int main(){
2 int i;
3 char str[]={'A','B','C'};
4
5 for(i=0;i<3;i++)
6 {
7 str[i]=str[i]+'a'-'A';
8 }
9 return 0;
10
11 printf("答え \n");
12 for(i=0;i<3;i++)
13 {
14 printf("%c\n",str[i]);
15 }
16 return 0;
17 }
を実行すると 「Info: Nothing to build for Hello」 となります。
5行目から9行目までを削除して実行すると答えは大文字で「ABC」となります
5行目から9行目の文法がおかしいと思うのですが何処がおかしいのかわかりません
誤っている個所をご指導頂けないでしょうか?よろしくお願いします。
454片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd22-EXIO)
2017/11/22(水) 17:52:20.48ID:QYl/HC3Nd >>453
9行目のreturn 0;でmainから制御を戻しているから、以下は実行されない。
9行目のreturn 0;でmainから制御を戻しているから、以下は実行されない。
455デフォルトの名無しさん (ワッチョイ 02ab-RuWE)
2017/11/22(水) 18:11:10.14ID:MV3BmYS20456デフォルトの名無しさん (ワッチョイ 02ab-RuWE)
2017/11/22(水) 18:14:07.74ID:MV3BmYS20457デフォルトの名無しさん (ササクッテロラ Spd1-lqMT)
2017/11/22(水) 19:23:09.00ID:T7TzzxgAp ちよわw
机上デバッグなりステップ実行なりすりゃいいじゃんみたいなんばっかりだな。
机上デバッグなりステップ実行なりすりゃいいじゃんみたいなんばっかりだな。
458デフォルトの名無しさん (ドコグロ MM41-ZIVp)
2017/11/22(水) 20:47:50.23ID:W0SJQGiTM459デフォルトの名無しさん (ドコグロ MM41-ZIVp)
2017/11/22(水) 20:50:57.50ID:W0SJQGiTM >>453
とりあえず
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1509780815/
に行けよ...
とりあえず
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1509780815/
に行けよ...
460デフォルトの名無しさん (アウアウカー Sa49-6di6)
2017/11/22(水) 21:53:31.50ID:SHp93EZHa mmap の page fault で割り当てられたページフレームってスワップアウトとか発生した時にドロップしたりしますか?
461デフォルトの名無しさん (ワッチョイ 879f-UVmO)
2017/11/23(木) 06:33:31.65ID:ZFTBiu2d0 君の言っている事がよくわからない
462デフォルトの名無しさん (アウアウカー Sadb-AymA)
2017/11/23(木) 09:17:29.44ID:N/op9puJa >>461
mmap で割り当てた物理メモリは munmap、プロセス終了時以外にも解放される契機はあるのでしょうか?
madvise の MADV_SEQUENTIAL で解放するとか書かれてますが、ソース見てみるとフラグ的にはノーマルと変わらない処理してるみたいなんですよね
mmap で割り当てた物理メモリは munmap、プロセス終了時以外にも解放される契機はあるのでしょうか?
madvise の MADV_SEQUENTIAL で解放するとか書かれてますが、ソース見てみるとフラグ的にはノーマルと変わらない処理してるみたいなんですよね
463デフォルトの名無しさん (ワッチョイ 07b3-gKf3)
2017/11/23(木) 09:34:44.63ID:NGg/SBGT0 MMUにもよるんじゃない
464デフォルトの名無しさん (アウアウカー Sadb-AymA)
2017/11/23(木) 09:46:31.82ID:N/op9puJa ディスクリードがあるのでmmuにはよらないかと
465デフォルトの名無しさん (ワッチョイ a77f-8Ex9)
2017/11/23(木) 10:51:34.50ID:ijGzvwTZ0 結局何を聞きたいの?
mmapで割り当てた仮想メモリが解放されるかどうかであれば、解放されない
物理メモリの話なら解放される
madviseが実際に指示通りに動くかどうかは実装次第だけど
一応LinuxとかはMADV_DONTNEEDで物理は解放できる
というか、これはC言語の話じゃないから各環境のスレで聞け
mmapで割り当てた仮想メモリが解放されるかどうかであれば、解放されない
物理メモリの話なら解放される
madviseが実際に指示通りに動くかどうかは実装次第だけど
一応LinuxとかはMADV_DONTNEEDで物理は解放できる
というか、これはC言語の話じゃないから各環境のスレで聞け
466デフォルトの名無しさん (アウアウカー Sadb-AymA)
2017/11/23(木) 12:41:47.79ID:FGycjMyka >>465
mmap 時の物理メモリ使用量とその変化を知りたかったんです。
結局非DIRTYなら物理メモリは解放されることあるんですね。
ありがとうございます
一応linuxの場合で考えてました
ホットで適当なスレが見当たらず、一番mmap使いそうなcスレでいいかと
失礼しました
mmap 時の物理メモリ使用量とその変化を知りたかったんです。
結局非DIRTYなら物理メモリは解放されることあるんですね。
ありがとうございます
一応linuxの場合で考えてました
ホットで適当なスレが見当たらず、一番mmap使いそうなcスレでいいかと
失礼しました
467デフォルトの名無しさん (ドコグロ MM1f-D7KE)
2017/11/24(金) 13:07:13.19ID:13KSLmbUM468デフォルトの名無しさん (スプッッ Sdbb-T4vC)
2017/11/24(金) 14:08:06.79ID:/RqU0h4Pd コーディングの仕方的な教材になる本あるかな?
コーディングとはこうやって沿っていくと良いよ的な本
それを読んでからテクニックの本を読もうとしてる(effective)
コーディングとはこうやって沿っていくと良いよ的な本
それを読んでからテクニックの本を読もうとしてる(effective)
469デフォルトの名無しさん (スッップ Sd7f-STtB)
2017/11/24(金) 15:12:46.00ID:bYdw4irrd >>468
まず「リーダブルコード」読んどけ。
まず「リーダブルコード」読んどけ。
470デフォルトの名無しさん (ワッチョイ a77f-8Ex9)
2017/11/24(金) 15:20:30.73ID:W0y6TqiA0471デフォルトの名無しさん (ワッチョイ c761-DWFp)
2017/11/24(金) 16:33:20.57ID:/I02is1j0 割り当てられてないメモリーにアクセスするとページフォルトが起きてから
OSが割り当てる遅延ファイルマッピングの事をいいたいんじゃないのかな。
OSが割り当てる遅延ファイルマッピングの事をいいたいんじゃないのかな。
472デフォルトの名無しさん (ワンミングク MM3f-I1Jk)
2017/11/24(金) 17:19:21.14ID:oz95vMBJM DMA涙目だな
473デフォルトの名無しさん (JP 0H4b-9mpY)
2017/11/24(金) 17:56:03.88ID:37SoWLJsH ポインタのことなんだけど、*pt と pt みたいに同じ名前で宣言したら、別々の変数になる?
474デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/24(金) 18:18:10.79ID:OpHoTsuS0 >>473
まずはやってみろ
まずはやってみろ
475デフォルトの名無しさん (アウアウアー Sa4f-9mpY)
2017/11/24(金) 18:23:00.58ID:LzLaFdMta476デフォルトの名無しさん (ササクッテロル Spfb-t8ZL)
2017/11/24(金) 19:41:11.01ID:5gRYCg9up つか、どうしつて区別すると思うんだ?
477デフォルトの名無しさん (ワッチョイ c780-ygtF)
2017/11/24(金) 19:44:50.18ID:4DoLJt5P0 *も含めて変数名と思ったんじゃね?
478デフォルトの名無しさん (ブーイモ MMcf-V9cG)
2017/11/24(金) 20:43:22.73ID:yshQtEuUM >>466
まあここでいいと思うぞ
madviseはあまり関係ない
落とされる前提でポリシー決めてるだけ
MAP_SHAREなら解放される可能性がある
MAP_LOCKEDで解放されない
他のフラグは知らん、試せ
まあここでいいと思うぞ
madviseはあまり関係ない
落とされる前提でポリシー決めてるだけ
MAP_SHAREなら解放される可能性がある
MAP_LOCKEDで解放されない
他のフラグは知らん、試せ
479デフォルトの名無しさん (ワッチョイ 078a-9mpY)
2017/11/24(金) 21:30:01.83ID:Mh0dfdoe0 これまた初歩的な質問なんだけど、intとdoubleとかで変数名が衝突したらどうなる?
480デフォルトの名無しさん (ワッチョイ 07b3-3T+V)
2017/11/24(金) 21:34:30.17ID:oQOGHeAz0 衝突してるぞエラーになる
481デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/24(金) 22:01:24.27ID:OpHoTsuS0482デフォルトの名無しさん (ワッチョイ 078a-9mpY)
2017/11/24(金) 22:54:20.18ID:Mh0dfdoe0 確かにエラー出るんだけど、できないってことでいいの?
483デフォルトの名無しさん (ワッチョイ 5fe1-VLot)
2017/11/24(金) 23:29:26.60ID:LzKIf/Vy0 外のスコープで定義されたものと名前が衝突した場合は内側の方が有効になり
同じスコープで衝突した場合はエラーになる
同じスコープで衝突した場合はエラーになる
484デフォルトの名無しさん (ワンミングク MM3f-I1Jk)
2017/11/24(金) 23:30:01.94ID:oz95vMBJM cでは出来ない。という仕様
485デフォルトの名無しさん (ワッチョイ 078a-9mpY)
2017/11/25(土) 00:53:38.80ID:JCp8dCym0 サンガツ
486デフォルトの名無しさん (ワッチョイ bfe7-3a+g)
2017/11/25(土) 06:12:18.91ID:KGlQ3mpn0 同じ変数名でもスコープが違えば出来るよ。
487デフォルトの名無しさん (ワッチョイ c761-DWFp)
2017/11/25(土) 06:35:32.53ID:H7G0IpRv0 int* ptの意味は意味int *ptだよ。
ptをデリファレンス演算子で評価したらint型になるよという宣言だよ。
ptをデリファレンス演算子で評価したらint型になるよという宣言だよ。
488デフォルトの名無しさん (ワッチョイ 0793-C/lT)
2017/11/25(土) 08:28:27.42ID:InRb1JFJ0 変数名が型ごとに独立した名前空間に属する、という言語があるのかな。
原理的には可能だと思うけど、えらく組みにくそうな気がする。
「型だけが異なる同名の変数を使わない」みたいなコーディング規約を強制されそう。
原理的には可能だと思うけど、えらく組みにくそうな気がする。
「型だけが異なる同名の変数を使わない」みたいなコーディング規約を強制されそう。
489デフォルトの名無しさん (ワッチョイ c761-DWFp)
2017/11/25(土) 08:44:13.26ID:H7G0IpRv0 構造体のネームスペースみたいに
全部の変数に型名をつけるようになるだろうな。
全部の変数に型名をつけるようになるだろうな。
490デフォルトの名無しさん (ワッチョイ 07b3-3T+V)
2017/11/25(土) 08:47:32.78ID:t3NLc0dP0 かえって使いづらい言語になるね
491デフォルトの名無しさん (ワッチョイ 0771-pnlc)
2017/11/25(土) 09:32:16.56ID:87Khqx810 変数の寿命はできるだけ短くしましょう
492デフォルトの名無しさん (スプッッ Sdff-T4vC)
2017/11/25(土) 13:36:36.33ID:O9uPrWP7d リーダブルコーディングとeffective以外に本を探してるのだけど他にあるかな?
493デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/25(土) 14:31:12.80ID:99QBz+fh0 組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド、2006
494デフォルトの名無しさん (ワッチョイ 0771-pnlc)
2017/11/25(土) 16:19:42.50ID:87Khqx810 C実践プログラミング
495デフォルトの名無しさん (スッップ Sd7f-STtB)
2017/11/25(土) 16:51:39.14ID:o/Q+Vng/d っコードコンプリート
496デフォルトの名無しさん (ワッチョイ 879f-UVmO)
2017/11/25(土) 17:02:06.40ID:DmTU06Rg0 >>488
perlは$aと@aと%aが違うけどな。型と言うよりはスカラか配列かハッシュかの違いだな。
perlは$aと@aと%aが違うけどな。型と言うよりはスカラか配列かハッシュかの違いだな。
497デフォルトの名無しさん (ワッチョイ 5f60-2JzH)
2017/11/25(土) 17:03:44.75ID:ROI3Hzdd0 >>493
ネットで MISRA の詳しい解説はありませんか?
ネットで MISRA の詳しい解説はありませんか?
498デフォルトの名無しさん (ワンミングク MM3f-I1Jk)
2017/11/25(土) 17:08:09.65ID:N5s7ffCaM499デフォルトの名無しさん (ワッチョイ bfe7-enc/)
2017/11/25(土) 17:24:25.43ID:6ctJHfBp0 処理重視なら毎回毎回変数宣言って処理が鈍くなるよな?
500デフォルトの名無しさん (ワッチョイ 7f81-nM14)
2017/11/25(土) 17:58:52.01ID:AcXq78AE0 インタプリタじゃないです
501デフォルトの名無しさん (ワッチョイ 07b3-3T+V)
2017/11/25(土) 17:59:36.62ID:t3NLc0dP0 C++でもないのでコンストラクタ走るわけでもないです
502デフォルトの名無しさん (ササクッテロル Spfb-t8ZL)
2017/11/25(土) 18:34:32.19ID:ve9pYFQ+p スタック操作なんか関数呼び出し時にまとめてやってるから、どこで宣言しようが処理速度は変わらないけどな。
503デフォルトの名無しさん (ワッチョイ 5f60-2JzH)
2017/11/25(土) 18:34:37.15ID:ROI3Hzdd0 >>499
その程度ならコンパイラが良きに計らってくれますよ
その程度ならコンパイラが良きに計らってくれますよ
504デフォルトの名無しさん (ワッチョイ 6755-P8Uf)
2017/11/25(土) 19:25:41.27ID:Hc9rYyD70 for文の中の変数宣言って外で行うよりオーバーヘッド大きいの?
505デフォルトの名無しさん (スッップ Sd7f-STtB)
2017/11/25(土) 19:29:40.95ID:o/Q+Vng/d506デフォルトの名無しさん (ワッチョイ 879f-UVmO)
2017/11/25(土) 20:41:30.63ID:DmTU06Rg0507デフォルトの名無しさん (ワッチョイ 879f-lrN+)
2017/11/25(土) 20:51:32.38ID:L+SRk42p0 あ、C++みたいな言語でクラスの中でメモリ確保してデストラクタで解放やってるような場合は
ループするブロックの中で宣言したら最低でもメモリ確保と解放でループの回数分時間
掛かっちゃうだろうけど、C言語にはそういうのはないので掛からない。
ループするブロックの中で宣言したら最低でもメモリ確保と解放でループの回数分時間
掛かっちゃうだろうけど、C言語にはそういうのはないので掛からない。
508デフォルトの名無しさん (スッップ Sd7f-Xp/k)
2017/11/25(土) 20:59:06.21ID:XP2bT693d 動的に確保というのはあるだろうが、
俺を意識した使い方するだろうし
俺を意識した使い方するだろうし
509デフォルトの名無しさん (ワッチョイ bf8a-S11E)
2017/11/25(土) 21:27:39.55ID:FWelsGSm0 VLAはスコープの出入りで伸縮だと思うが
510デフォルトの名無しさん (ワッチョイ 879f-UVmO)
2017/11/25(土) 22:01:34.55ID:DmTU06Rg0511デフォルトの名無しさん (ワッチョイ bfe7-enc/)
2017/11/26(日) 16:09:01.86ID:EJqMiwXm0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- くそしてかがやけ
- 一人暮らしだからケツ出してみてるけど
