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
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ b375-rVGZ)
2017/10/27(金) 21:28:08.20ID:pAogLeJi0899デフォルトの名無しさん (ワッチョイ 92e3-4pIx)
2017/12/16(土) 09:51:57.71ID:ocr1ZUEA0900デフォルトの名無しさん (ワッチョイ b2f9-M+37)
2017/12/16(土) 10:12:43.78ID:qv7q395J0 C言語に関する話題で意味のある文脈で韓国人なりゆとりなりが出てくることはまず無いだろうから、NGしとけばいいな。
901デフォルトの名無しさん (ワッチョイ 1f9f-iA8U)
2017/12/16(土) 12:02:39.06ID:TBmZZU6f0902デフォルトの名無しさん (エムゾネ FF32-JSy5)
2017/12/16(土) 13:04:37.50ID:MrWvRMOoF >>901
後ろ二行は同意
後ろ二行は同意
903デフォルトの名無しさん (ドコグロ MM97-jdna)
2017/12/16(土) 13:11:58.97ID:KXDpqAfSM > その程度の用語で威張れると思える時点で終わってる
>>884に言ってやれよ w
>>884に言ってやれよ w
904デフォルトの名無しさん (ワッチョイ 1f9f-iA8U)
2017/12/16(土) 13:34:31.45ID:TBmZZU6f0 >>903
ガチアスペか?
韓国人か?
それじゃ論理が通らんだろ
ID:KXDpqAfSM = ID:FCwL/bM6M = ID:wOa8xeUW0 = ID:tW10X6gZ0 = ID:JlwKPeYd0
お前だけがぶっちぎりの馬鹿だな
韓国人死ね
ガチアスペか?
韓国人か?
それじゃ論理が通らんだろ
ID:KXDpqAfSM = ID:FCwL/bM6M = ID:wOa8xeUW0 = ID:tW10X6gZ0 = ID:JlwKPeYd0
お前だけがぶっちぎりの馬鹿だな
韓国人死ね
905デフォルトの名無しさん (ワッチョイ cb8a-QofM)
2017/12/16(土) 13:41:28.81ID:J4pjF+US0 NULLが(void *)0になったのっていつからだっけ
C89には無かったよね?
C89には無かったよね?
906片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/16(土) 13:42:01.01ID:2NfYNG63d おっぱいおっぱいぽよんぽよん
おっぱいおっぱいぽよんぽよん
仲良くしようぜ
おっぱいおっぱいぽよんぽよん
仲良くしようぜ
907片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/16(土) 13:45:48.99ID:2NfYNG63d908デフォルトの名無しさん (ワッチョイ ef9f-mLIQ)
2017/12/16(土) 14:30:30.83ID:+Cq6iaDY0 >>906
つまりこうであると。
#include <stdio.h>
int main(int argc, char *argv[])
{
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++)
fputs("おっぱい", stdout);
for (j = 0; j < 2; j++)
fputs("ぽよん", stdout);
putchar('\n');
}
return 0;
}
つまりこうであると。
#include <stdio.h>
int main(int argc, char *argv[])
{
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++)
fputs("おっぱい", stdout);
for (j = 0; j < 2; j++)
fputs("ぽよん", stdout);
putchar('\n');
}
return 0;
}
909デフォルトの名無しさん (ワッチョイ ef9f-mLIQ)
2017/12/16(土) 14:32:07.96ID:+Cq6iaDY0 そういや古いソースには char *p なのに if (*p == NULL) みたいに書いてあるのがあって、今時のコンパイラだと警告出しまくりになるんだよなあ。
910片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/16(土) 15:55:35.27ID:2NfYNG63d >>908
こう書いてもいいね。
#include <stdio.h>
int main(void) {
int i;
for (i = 0; i < 8; i++) {
if (i % 4 < 2) fputs("おっぱい", stdout);
else fputs("ぽよん", stdout);
if (i % 4 == 3) putchar('\n');
}
return 0;
}
こう書いてもいいね。
#include <stdio.h>
int main(void) {
int i;
for (i = 0; i < 8; i++) {
if (i % 4 < 2) fputs("おっぱい", stdout);
else fputs("ぽよん", stdout);
if (i % 4 == 3) putchar('\n');
}
return 0;
}
911デフォルトの名無しさん (ワッチョイ 1287-e1v7)
2017/12/16(土) 16:43:18.46ID:CGnB4g3o0 NULLの値が、0xDEADC0DEになってる環境なら知ってる。
912デフォルトの名無しさん (ワッチョイ 12b3-jdna)
2017/12/16(土) 17:20:00.24ID:wOa8xeUW0 >>904
頓珍漢な奴に論理とか言われてもなあ w
頓珍漢な奴に論理とか言われてもなあ w
913デフォルトの名無しさん (ワッチョイ ef9f-mLIQ)
2017/12/16(土) 17:23:42.81ID:+Cq6iaDY0 >>910
なるほど。
ちょっと変形してビット演算でも行けるな。
#include <stdio.h>
int main(void) {
int i;
for (i = 0; i < 8; i++) {
fputs(i & 2 ? "ぽよん" : "おっぱい", stdout);
if ((i & 3) == 3) putchar('\n');
}
return 0;
}
なるほど。
ちょっと変形してビット演算でも行けるな。
#include <stdio.h>
int main(void) {
int i;
for (i = 0; i < 8; i++) {
fputs(i & 2 ? "ぽよん" : "おっぱい", stdout);
if ((i & 3) == 3) putchar('\n');
}
return 0;
}
914デフォルトの名無しさん (ワッチョイ 92e1-kSiG)
2017/12/16(土) 19:24:56.53ID:lAe10LAt0 #include <stdio.h>
#include <stdlib.h>
void o(){ fputs("おっぱい", stdout); }
void p(){ fputs("ぽよん", stdout); }
void r(){ puts(""); }
void e(){ exit(0); }
void (*a[])() = { o,o,p,p,r,o,o,p,p,r,e };
int main(){ void (**x)()=a; while(1) (*x++)(); }
#include <stdlib.h>
void o(){ fputs("おっぱい", stdout); }
void p(){ fputs("ぽよん", stdout); }
void r(){ puts(""); }
void e(){ exit(0); }
void (*a[])() = { o,o,p,p,r,o,o,p,p,r,e };
int main(){ void (**x)()=a; while(1) (*x++)(); }
915デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
2017/12/16(土) 20:18:31.50ID:ftZRkd7o0 >>877
>struct hoge *tmp = (struct hoge *)0; と書くだろう
このように書いても*正しく*NULLポインタが代入される
char zero[(struct hoge *)] = {0};
memcpy(tmp, zero, sizeof zero);
としないとダメ
逆によく見かけるポインタを含む構造体をmemcpyで0に初期化するのも正しく無い
>struct hoge *tmp = (struct hoge *)0; と書くだろう
このように書いても*正しく*NULLポインタが代入される
char zero[(struct hoge *)] = {0};
memcpy(tmp, zero, sizeof zero);
としないとダメ
逆によく見かけるポインタを含む構造体をmemcpyで0に初期化するのも正しく無い
916デフォルトの名無しさん (ワッチョイ 926e-zS+j)
2017/12/16(土) 20:46:52.08ID:V7dZrSJp0917デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
2017/12/16(土) 21:04:20.92ID:ftZRkd7o0 意図を残すために間違ったコードを書くとは理解に苦しむ
コメントで残した方が数百倍マシ
コメントで残した方が数百倍マシ
918デフォルトの名無しさん (ワッチョイ 926e-zS+j)
2017/12/16(土) 21:54:17.26ID:V7dZrSJp0 ほほう、どう間違ったと言うのかね?
919デフォルトの名無しさん (ワッチョイ 12b3-jdna)
2017/12/16(土) 22:30:35.99ID:wOa8xeUW0920デフォルトの名無しさん (ワッチョイ 1f9f-iA8U)
2017/12/16(土) 23:26:06.26ID:TBmZZU6f0921デフォルトの名無しさん (ワッチョイ eb55-ngMC)
2017/12/17(日) 00:31:42.98ID:8cbKB5iV0 >>915
ポインタはmemcpyできるのか?
ポインタはmemcpyできるのか?
922デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
2017/12/17(日) 04:55:34.79ID:vowUucL80923デフォルトの名無しさん (ワッチョイ cb8a-QofM)
2017/12/17(日) 07:23:21.30ID:0WraWVJn0 標準ライブラリ使用禁止な
924デフォルトの名無しさん (ワッチョイ 12b3-jdna)
2017/12/17(日) 08:07:20.40ID:RRxF0FwT0925デフォルトの名無しさん (ワッチョイ ef9f-v37J)
2017/12/19(火) 08:30:52.67ID:SEIe84in0 お、収まったか・・・
926デフォルトの名無しさん (ワッチョイ 12b0-+NpI)
2017/12/19(火) 21:03:25.54ID:6p/5Z93J0 完全初心者です。文字列の性質について質問させてもらいます。
柴田望洋著 「ポインタ完全攻略」という書籍にて次のような内容の記載があります。
・文字列リテラルは変数ではないが記憶域を占有する
・文字列リテラルはcharの配列である
そして次のページに、
・このような文字列リテラルは、整数にいいかえると「定数」に相当するものであるから、自由に取り扱うためには
変数に格納する必要性がある
・そこで利用されるのがcharの配列である
ここでわかりかねるのが、文字列リテラルというのはそもそも定義自体が「charの配列」であるはずなのに、
これをまた「charの配列」に格納するの??と、疑問に思ってしまったわけです。
これはいったいどういうことでしょうか。
柴田望洋著 「ポインタ完全攻略」という書籍にて次のような内容の記載があります。
・文字列リテラルは変数ではないが記憶域を占有する
・文字列リテラルはcharの配列である
そして次のページに、
・このような文字列リテラルは、整数にいいかえると「定数」に相当するものであるから、自由に取り扱うためには
変数に格納する必要性がある
・そこで利用されるのがcharの配列である
ここでわかりかねるのが、文字列リテラルというのはそもそも定義自体が「charの配列」であるはずなのに、
これをまた「charの配列」に格納するの??と、疑問に思ってしまったわけです。
これはいったいどういうことでしょうか。
927デフォルトの名無しさん (ワッチョイ eb55-ngMC)
2017/12/19(火) 21:09:32.75ID:M/iOujl40928片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/19(火) 21:18:36.23ID:3xf/peDqd "This is C string literal."
これが文字列リテラルね。参照すると文字列定数になる。
char s[] = "This is character array.";
これが文字の配列の変数sの宣言と初期化ね。sはヌル文字を含めた文字列データ先頭を参照する。sizeof(s)は、ヌル文字を含めたデータのサイズになる。
const char *p = "This is pointer to characters.";
これは文字列の先頭へのポインタになる。サイズはアドレスのサイズ。データは変更できない。
これが文字列リテラルね。参照すると文字列定数になる。
char s[] = "This is character array.";
これが文字の配列の変数sの宣言と初期化ね。sはヌル文字を含めた文字列データ先頭を参照する。sizeof(s)は、ヌル文字を含めたデータのサイズになる。
const char *p = "This is pointer to characters.";
これは文字列の先頭へのポインタになる。サイズはアドレスのサイズ。データは変更できない。
>>926
ちょっと進んだ知識になるのですが。
プログラムがコンパイルされたのち、プログラムの実行の段階にはいったとき、コードや変数領域やその他もろもろがメモリ上に展開されるわけですが、
文字リテラルは、場合によってはメモリ上の書き込み不可能の場所に置かれます。たとえば ROM メモリとか。
もし、その文字リテラルを適宜書き換えて使いたいのならば、書き込み可能な場所にコピーして使うでしょう、それが、変数であり配列でありするわけです。
ただし文字リテラルを書き換えることが可能な環境では、それを見越して、文字リテラルを書き換えて対応する、という手がないわけではありません。
まあ一般的には行儀が悪いと思われています。それに文字リテラルを途中で長くしたい、とかは不可能ですし。
ちょっと進んだ知識になるのですが。
プログラムがコンパイルされたのち、プログラムの実行の段階にはいったとき、コードや変数領域やその他もろもろがメモリ上に展開されるわけですが、
文字リテラルは、場合によってはメモリ上の書き込み不可能の場所に置かれます。たとえば ROM メモリとか。
もし、その文字リテラルを適宜書き換えて使いたいのならば、書き込み可能な場所にコピーして使うでしょう、それが、変数であり配列でありするわけです。
ただし文字リテラルを書き換えることが可能な環境では、それを見越して、文字リテラルを書き換えて対応する、という手がないわけではありません。
まあ一般的には行儀が悪いと思われています。それに文字リテラルを途中で長くしたい、とかは不可能ですし。
930デフォルトの名無しさん (ワッチョイ af36-zS+j)
2017/12/19(火) 21:21:47.79ID:MoA6J0CR0 >>926
おまえさんが疑問に思っているのはこういうことか?
puts("aho"); で済むのを、わざわざ
static const char array[] = "aho";
puts(array); としなければならないのかと
おまえさんが疑問に思っているのはこういうことか?
puts("aho"); で済むのを、わざわざ
static const char array[] = "aho";
puts(array); としなければならないのかと
931デフォルトの名無しさん (ワッチョイ dee7-j1NZ)
2017/12/19(火) 21:24:55.16ID:x8VtX8Fx0 複数の文字列の先頭番地を便利に参照したいぐらいじゃないかな。
932デフォルトの名無しさん (ワッチョイ 12b0-+NpI)
2017/12/19(火) 22:51:39.70ID:6p/5Z93J0 >>927
>>928
>>929
>>930
>>931
みなさんお騒がせいたしました。みなさんから頂いたアドバイスを参考にさせていただいて、
よく考えてみたところ、あまり深く気にするべきではないように感じてきました。
先ほどの本の「配列による文字列」「ポインタによる文字列」という箇所を読み込んだところ、
「配列による文字列」はcharの配列を宣言して文字列を用いる場合で、「ポインタによる文字列」
は「char p* = "ABC"」のように、ポインタchar *を宣言してなんらかの文字列リテラルで初期化する
手法であるとのことです。
おそらく・・・よくわかりませんが、直観的に私が当初感じていた疑問点というのはここら辺の部分に帰結
する話だと思われます。
現段階での私の理解
・文字列はそもそも配列?などということは気にしなくてもよい。
・文字列を配列charに格納してからポインタで操作する方法がある。この場合は当然配列の規則に従う
ので代入とかはできない
・char * = "ABC" のようにchar[]を宣言せずに文字列をポインタで操作する方法もあり。
この場合は p = "SEX" のような代入ができる。
>>928
>>929
>>930
>>931
みなさんお騒がせいたしました。みなさんから頂いたアドバイスを参考にさせていただいて、
よく考えてみたところ、あまり深く気にするべきではないように感じてきました。
先ほどの本の「配列による文字列」「ポインタによる文字列」という箇所を読み込んだところ、
「配列による文字列」はcharの配列を宣言して文字列を用いる場合で、「ポインタによる文字列」
は「char p* = "ABC"」のように、ポインタchar *を宣言してなんらかの文字列リテラルで初期化する
手法であるとのことです。
おそらく・・・よくわかりませんが、直観的に私が当初感じていた疑問点というのはここら辺の部分に帰結
する話だと思われます。
現段階での私の理解
・文字列はそもそも配列?などということは気にしなくてもよい。
・文字列を配列charに格納してからポインタで操作する方法がある。この場合は当然配列の規則に従う
ので代入とかはできない
・char * = "ABC" のようにchar[]を宣言せずに文字列をポインタで操作する方法もあり。
この場合は p = "SEX" のような代入ができる。
933片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/19(火) 22:57:18.83ID:3xf/peDqd char *p = "string";
はconstがない時代の古い書き方だよ。
良い子は
const char *p = "string";
のようにconstを付けること。
はconstがない時代の古い書き方だよ。
良い子は
const char *p = "string";
のようにconstを付けること。
934デフォルトの名無しさん (ワッチョイ 12b0-+NpI)
2017/12/19(火) 23:01:45.80ID:6p/5Z93J0935デフォルトの名無しさん (ワッチョイ 1680-zkGJ)
2017/12/19(火) 23:37:54.35ID:jfHXMkXp0 immutable・不変かどうかの区別。
不変オブジェクトは、メモリ内の読み込み専用エリアに置けるので、最適化しやすいから、
できる限り、不変が望ましい
Ruby, JavaScript では、文字列は可変オブジェクトだが、freeze すると更新できない
s = "hello"
s.freeze
よく覚えていないけど、この本が良かった気がする。
詳説 Cポインタ、オライリー、2013
不変オブジェクトは、メモリ内の読み込み専用エリアに置けるので、最適化しやすいから、
できる限り、不変が望ましい
Ruby, JavaScript では、文字列は可変オブジェクトだが、freeze すると更新できない
s = "hello"
s.freeze
よく覚えていないけど、この本が良かった気がする。
詳説 Cポインタ、オライリー、2013
936デフォルトの名無しさん (ワッチョイ ef9f-mLIQ)
2017/12/19(火) 23:44:08.13ID:SEIe84in0 char *s = "abc";
と初期化した場合は
s[1] = '\0';
のようなことをすると Segmentation fault になったが、
char s[] = "abc";
の場合は
s[1] = '\0';
が問題なくできた。その後 puts(s) をすると a だけが出た。
OS は Linux でコンパイラは gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16) だ。
-S でアセンブラの出力をさせるとどちらも "abc" をリードオンリーの領域に配置させているが
char s[] と書いた場合は関数の初めでスタックに領域を確保してそこにコピーしてからアクセスしていた。
char *s の方は単に先頭アドレスを使うようになるだけ。(そしてリードオンリーの領域に書いて死亡)。
man gcc を見ると -traditional や -fwritable-strings で文字列リテラルに書き込めるようにできるとは
書いてあるが、この man page 自体が古く、4.8.5 では既にこのオプションは使えなくなっていた。
と初期化した場合は
s[1] = '\0';
のようなことをすると Segmentation fault になったが、
char s[] = "abc";
の場合は
s[1] = '\0';
が問題なくできた。その後 puts(s) をすると a だけが出た。
OS は Linux でコンパイラは gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16) だ。
-S でアセンブラの出力をさせるとどちらも "abc" をリードオンリーの領域に配置させているが
char s[] と書いた場合は関数の初めでスタックに領域を確保してそこにコピーしてからアクセスしていた。
char *s の方は単に先頭アドレスを使うようになるだけ。(そしてリードオンリーの領域に書いて死亡)。
man gcc を見ると -traditional や -fwritable-strings で文字列リテラルに書き込めるようにできるとは
書いてあるが、この man page 自体が古く、4.8.5 では既にこのオプションは使えなくなっていた。
937デフォルトの名無しさん (ワッチョイ 1f9f-iA8U)
2017/12/20(水) 00:00:34.09ID:FD+Ux1Ht0938デフォルトの名無しさん (ワッチョイ 92e3-4pIx)
2017/12/20(水) 01:15:20.03ID:52iYTq0Y0 >>932
よく言われることだけど、cに文字列型はない
cで文字列という時は必ず文字の配列のこと
char * p = "ABC";
は
char x[] = { 'A', 'B', 'C', 0};
char * p = x;
って書くのを少し楽に書けるようにしてくれてるだけ
プログラミング自体の初心者なら、cで文字列を扱うこと自体を後回しにした方がいいと思う
よく言われることだけど、cに文字列型はない
cで文字列という時は必ず文字の配列のこと
char * p = "ABC";
は
char x[] = { 'A', 'B', 'C', 0};
char * p = x;
って書くのを少し楽に書けるようにしてくれてるだけ
プログラミング自体の初心者なら、cで文字列を扱うこと自体を後回しにした方がいいと思う
939デフォルトの名無しさん (ワッチョイ af36-zS+j)
2017/12/20(水) 06:46:09.98ID:63AN+5MK0 > cで文字列を扱うこと自体を後回し
俺もそう思う
ど初心者にはちとキツい
俺もそう思う
ど初心者にはちとキツい
940デフォルトの名無しさん (ワッチョイ b761-OyZG)
2017/12/20(水) 07:39:29.61ID:megjw+LT0 char x[] = { 'A', 'B', 'C', 0}; は.dataに保存されるから同じじゃないだろ。
941デフォルトの名無しさん (ワッチョイ 6361-4pIx)
2017/12/20(水) 07:57:37.46ID:5B0wk23g0 宗教戦争勃発!
942デフォルトの名無しさん (ワッチョイ 92a6-ak+6)
2017/12/20(水) 09:01:12.50ID:RLul2dZl0 const教は良い教義だと思うけどな。
943デフォルトの名無しさん (ワッチョイ 1287-e1v7)
2017/12/20(水) 09:12:25.93ID:wldcomI70 組み込み屋の俺から言わせれば、constは常識。
944デフォルトの名無しさん (スッップ Sd32-rGrM)
2017/12/20(水) 09:19:53.06ID:ohJmu0wUd ROMに追い出すconstの嵐w
#pragma でもいいけれど。
#pragma でもいいけれど。
945デフォルトの名無しさん (ワッチョイ af36-zS+j)
2017/12/20(水) 10:35:07.90ID:63AN+5MK0 C++にconstexprがあるのはconstの設計ミス
946デフォルトの名無しさん (ササクッテロレ Spc7-e1v7)
2017/12/20(水) 11:33:29.38ID:9SrStGF7p >>944
いや、const無くても文字リテラル自身はROMに書かれてるんだけど、デフォルトはそれをわざわざ初期化の時にRAMに展開して書き換えられてもいいように準備して待ってるんだよな。
それがもったないからconst付けるんだ。
いや、const無くても文字リテラル自身はROMに書かれてるんだけど、デフォルトはそれをわざわざ初期化の時にRAMに展開して書き換えられてもいいように準備して待ってるんだよな。
それがもったないからconst付けるんだ。
947デフォルトの名無しさん (アウアウカー Sa6f-kaKc)
2017/12/20(水) 11:48:57.84ID:g9yiCifSa948デフォルトの名無しさん (ササクッテロレ Spc7-e1v7)
2017/12/20(水) 12:57:32.06ID:9SrStGF7p949デフォルトの名無しさん (ワッチョイ af36-zS+j)
2017/12/20(水) 13:49:50.09ID:63AN+5MK0 constつーか__attribute__((section(".rodata")))だろ
950デフォルトの名無しさん (ワッチョイ 12b0-+NpI)
2017/12/20(水) 20:21:08.31ID:ap2qT8fO0 >>932です。
みなさんありがとうございます。
C言語では文字列を扱うのは難しいようですね。
しかし使うだけであれば「なんとなく感覚的」に可能か?と思われます。
ところで、ネットや本でC言語の難所はポインタだ!とよく書いてますが、この文字列の部分というは正に
ややこしい部分ではないでしょうか?
ポインタと配列の関係性の理解だけでも一山あります。
それが文字列となると、ポインタ+配列+文字列の知識の理解、となってしまって。
構造体を勉強するのが先でしょうか。
みなさんありがとうございます。
C言語では文字列を扱うのは難しいようですね。
しかし使うだけであれば「なんとなく感覚的」に可能か?と思われます。
ところで、ネットや本でC言語の難所はポインタだ!とよく書いてますが、この文字列の部分というは正に
ややこしい部分ではないでしょうか?
ポインタと配列の関係性の理解だけでも一山あります。
それが文字列となると、ポインタ+配列+文字列の知識の理解、となってしまって。
構造体を勉強するのが先でしょうか。
951片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/20(水) 20:43:26.94ID:hN2yOtWhd >>950
この程度で難しいというなら、あきらめてJavaに行った方が身のためだ。
plain Cは時代遅れで、そのまま使うとセキュリティに穴があるシステムを量産してしまう。
Cはロボットにまかせて、人間はC++みたいな高度なプログラムを使うことが望ましい。
この程度で難しいというなら、あきらめてJavaに行った方が身のためだ。
plain Cは時代遅れで、そのまま使うとセキュリティに穴があるシステムを量産してしまう。
Cはロボットにまかせて、人間はC++みたいな高度なプログラムを使うことが望ましい。
952デフォルトの名無しさん (ワッチョイ af36-zS+j)
2017/12/20(水) 20:47:28.16ID:63AN+5MK0953デフォルトの名無しさん (ワッチョイ 12b0-+NpI)
2017/12/20(水) 21:24:09.39ID:ap2qT8fO0 >>951
最近プログラミングが騒がれているのでpythonを始めたのですが、どうもプログラミングしてる感
が持てないためC言語をかじりだしたのです。
javaはコードが長そうなので嫌な感じですね。C++はえらく難しいらしいですし...
まあpythonかrubyが普通に使えるくらいになれば十分なのですが...
最近プログラミングが騒がれているのでpythonを始めたのですが、どうもプログラミングしてる感
が持てないためC言語をかじりだしたのです。
javaはコードが長そうなので嫌な感じですね。C++はえらく難しいらしいですし...
まあpythonかrubyが普通に使えるくらいになれば十分なのですが...
954デフォルトの名無しさん (ワッチョイ 4771-exlo)
2017/12/20(水) 21:34:16.38ID:WuO+qrMG0 >>953
まずプログラミングしてる感が十分感じられるくらいまでpythonに慣れましょう
まずプログラミングしてる感が十分感じられるくらいまでpythonに慣れましょう
955デフォルトの名無しさん (ワッチョイ ffb3-AOQJ)
2017/12/20(水) 21:35:23.89ID:bl+FG2Ud0 余所の芝が青く見えるので、そっちをつまみぐいする進め方は
正直どっちも中途半端に覚えてるつもりになって、実際には道具として使えてない状態に陥りそう
正直どっちも中途半端に覚えてるつもりになって、実際には道具として使えてない状態に陥りそう
>>953
C++ は教育的配慮に欠けていて、自力でなんとかしないといけない部分が多いし、ここ5〜6 年で規格がばたばた改定されたのに教科書が追いついていない
ついでに私もC++11later には追いつけていない(;;)
プログラムしている感は満載なんですけれども。
java は、資格とかもあり教育的な環境が整っているし書籍も多い、言語的な紛れもC++ に比べると少ない、個人的にはお勧めです。
プログラムしている感は、それなりにあると思います。
python 私もやっているんだけれども、つづりミスに悩まされています。なにか、いい支援環境はないものでしょうか?
C++ は教育的配慮に欠けていて、自力でなんとかしないといけない部分が多いし、ここ5〜6 年で規格がばたばた改定されたのに教科書が追いついていない
ついでに私もC++11later には追いつけていない(;;)
プログラムしている感は満載なんですけれども。
java は、資格とかもあり教育的な環境が整っているし書籍も多い、言語的な紛れもC++ に比べると少ない、個人的にはお勧めです。
プログラムしている感は、それなりにあると思います。
python 私もやっているんだけれども、つづりミスに悩まされています。なにか、いい支援環境はないものでしょうか?
957片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/20(水) 21:44:52.24ID:hN2yOtWhd >>953
Pythonで何かをあやつることをやってみたら? GIMPや、Inkscapeや、IoTデバイスとかをあやつってみるんだよ。
Pythonで何かをあやつることをやってみたら? GIMPや、Inkscapeや、IoTデバイスとかをあやつってみるんだよ。
958片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/20(水) 21:49:51.24ID:hN2yOtWhd Pythonは万能だから、株取引とか天気予報の表示とかニュースフィードとか、思い付く限りのことができるぜ。
959デフォルトの名無しさん (ワッチョイ 1681-A+LL)
2017/12/20(水) 22:26:42.84ID:YMSTlUWa0 >>958
地震を予測してみてくれ
地震を予測してみてくれ
960デフォルトの名無しさん (ワッチョイ 1681-iA8U)
2017/12/20(水) 22:28:37.10ID:w4Ra0RsW0 イスラエルのスパイ組織に電話でもして聞けば
961片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/20(水) 22:38:41.88ID:hN2yOtWhd962片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/20(水) 22:44:09.10ID:hN2yOtWhd とかテキトーなことを言ってみるテスト。
963デフォルトの名無しさん (ワッチョイ 1681-iA8U)
2017/12/20(水) 22:45:25.57ID:w4Ra0RsW0 地下水で地盤ががたがたになったところを爆弾で引き金ひいてるだけだよ
964片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/20(水) 22:46:01.11ID:hN2yOtWhd でも人類は地球の中身を見ることも出来ないでしょ?
965片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/20(水) 22:48:45.17ID:hN2yOtWhd 知り合いの宇宙人はみんな人類をバカにしてるぞ。
966デフォルトの名無しさん (ワッチョイ 1681-A+LL)
2017/12/20(水) 23:27:29.43ID:YMSTlUWa0 「日本沈没」だと、細菌が地震の原因だとされた
967デフォルトの名無しさん (ワッチョイ 1680-zkGJ)
2017/12/20(水) 23:47:53.69ID:nn3v7K500 >>956
【Microsoft Tech Summit】APP017 PowerShellの新しい相棒 Visual Studio Code
http://www.youtube.com/watch?v=0zo6z0yHrGk
2017/01/23 に公開された動画
【Microsoft Tech Summit】APP017 PowerShellの新しい相棒 Visual Studio Code
http://www.youtube.com/watch?v=0zo6z0yHrGk
2017/01/23 に公開された動画
>>966
これかな?
https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E6%B2%88%E6%B2%A1
最近読んだので記憶は確かだが、細菌が地震の原因とは書かれていなかった
地球内マントルの対流の動きが変わり、ちょうど日本の真下でマントルが持ち上がるように変化した、という推測でストーリーは進んでいる
これかな?
https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E6%B2%88%E6%B2%A1
最近読んだので記憶は確かだが、細菌が地震の原因とは書かれていなかった
地球内マントルの対流の動きが変わり、ちょうど日本の真下でマントルが持ち上がるように変化した、という推測でストーリーは進んでいる
969デフォルトの名無しさん (ワッチョイ 1681-iA8U)
2017/12/20(水) 23:52:58.62ID:w4Ra0RsW0 デンバー地震でぐぐれ
970デフォルトの名無しさん (ワッチョイ 1681-iA8U)
2017/12/20(水) 23:54:03.48ID:w4Ra0RsW0 そしたら探査船ちきゅうでぐぐれ
なんで非キリスト教国のまわりばっかり掘ろうとしてるんですかね
なんで非キリスト教国のまわりばっかり掘ろうとしてるんですかね
971デフォルトの名無しさん (ワッチョイ 1681-iA8U)
2017/12/20(水) 23:54:55.60ID:w4Ra0RsW0 プログラム板じゃねーかここ
だまされた
だまされた
972デフォルトの名無しさん (ワッチョイ b2f9-M+37)
2017/12/20(水) 23:57:59.90ID:/r8rw0in0 >>965
その宇宙人たちが接触した人類がお前さんだけだからだろう
その宇宙人たちが接触した人類がお前さんだけだからだろう
973デフォルトの名無しさん (ワッチョイ cf81-+obY)
2017/12/21(木) 00:17:01.11ID:HiBe6ryp0 >>968
映画だと、
日本列島の下に沈みこむ海洋プレートが微生物が発生するメタンガスの影響もあって
沈み込み速度をましているため、日本列島が引きずり込まれて「一気呵成」に沈み込む
ことになってます。
映画だと、
日本列島の下に沈みこむ海洋プレートが微生物が発生するメタンガスの影響もあって
沈み込み速度をましているため、日本列島が引きずり込まれて「一気呵成」に沈み込む
ことになってます。
974デフォルトの名無しさん (ワッチョイ cf81-7LW1)
2017/12/21(木) 00:22:13.48ID:UchjTOEe0 デンバー地震で
975デフォルトの名無しさん (ブーイモ MM27-sMZP)
2017/12/21(木) 12:40:43.16ID:FgpIo/kMM デンバーはダメです
976デフォルトの名無しさん (アウーイモ MM67-yeUS)
2017/12/22(金) 15:34:13.13ID:E+fmptBcM 4つの整数と + - * / を組み合わせて10を作ってその組み合わせを表示する、みたいなプログラムって作れますか?
977デフォルトの名無しさん (ワッチョイ ffb3-6aYH)
2017/12/22(金) 15:53:53.74ID:sp7ymsVp0 C++ だけとクラスとか定義してないから入出力を書き換えればC言語にできるんじゃね?
http://apollon.issp.u-tokyo.ac.jp/~watanabe/int/ten.html
http://apollon.issp.u-tokyo.ac.jp/~watanabe/int/ten.html
978デフォルトの名無しさん (アウーイモ MM67-yeUS)
2017/12/22(金) 16:10:47.49ID:ft9sfOBHM >>961
>地球内部の核融合反応
コアは6000K の液体または固体金属、とのことだが、核融合にまでは至っていないかと思っていた
しかし、ググってみると、重水素の核融合が起こっているという仮説があった
http://www.natureasia.com/ja-jp/srep/abstracts/85904
この融合反応は wikipedia には載っていないなあ…よくわらかないね
>地球内部の核融合反応
コアは6000K の液体または固体金属、とのことだが、核融合にまでは至っていないかと思っていた
しかし、ググってみると、重水素の核融合が起こっているという仮説があった
http://www.natureasia.com/ja-jp/srep/abstracts/85904
この融合反応は wikipedia には載っていないなあ…よくわらかないね
980デフォルトの名無しさん (アウアウカー Sac7-qy4x)
2017/12/22(金) 16:55:45.66ID:Jtf61dYDa >>979
よそでやれ
よそでやれ
981デフォルトの名無しさん (アウーイモ MM67-yeUS)
2017/12/22(金) 17:16:18.78ID:ft9sfOBHM 演算子入れられる変数とか無いのかなー
983割 ◆c9Xyadm.dk (ワッチョイ 939d-buzn)
2017/12/22(金) 19:56:40.50ID:87p1rPDr0 片山博文MZはMZってマイコンからとったのか
984デフォルトの名無しさん (ワッチョイ a3b3-td9o)
2017/12/22(金) 20:05:03.37ID:byb+rqQ+0 シャープのMZ80シリーズ?
985デフォルトの名無しさん (スッップ Sd1f-OpNk)
2017/12/22(金) 20:14:04.54ID:LnRzEfKId >>983
マジ?
マジ?
986デフォルトの名無しさん (ワッチョイ cfd7-tRgI)
2017/12/22(金) 20:43:06.61ID:e2HIssEB0 EXEファイル先頭のマジックナンバーだろ
987デフォルトの名無しさん (アウアウカー Sac7-vdkM)
2017/12/22(金) 20:52:06.42ID:xiD1v8rca 二画面スマホ
988デフォルトの名無しさん (ワッチョイ cf81-+obY)
2017/12/22(金) 22:49:46.65ID:bOwDb4AP0 片山さんって起動可能?
989デフォルトの名無しさん (ワッチョイ f38a-IlPN)
2017/12/23(土) 02:10:08.05ID:AM9XC9Za0 クリーンコンピューター
990デフォルトの名無しさん (ワッチョイ 639f-bsML)
2017/12/23(土) 06:03:46.75ID:BUr3nOOf0 まず、カセットテープからBASICを読み込ませます。
991デフォルトの名無しさん (ワッチョイ 8376-Owf0)
2017/12/23(土) 06:56:57.79ID:HrCAu8ak0 マジックナンバーの意味が違う使われ方するよな最近
992デフォルトの名無しさん (ワッチョイ f378-tRgI)
2017/12/23(土) 07:11:10.70ID:82L7PCHk0 オブジェクトみたいにもともと多義語だから
993デフォルトの名無しさん (ワッチョイ 639f-buzn)
2017/12/23(土) 15:13:16.78ID:BUr3nOOf0994デフォルトの名無しさん (ワッチョイ f38a-IlPN)
2017/12/23(土) 15:56:25.06ID:AM9XC9Za0995デフォルトの名無しさん (スプッッ Sd1f-k/7O)
2017/12/23(土) 16:19:05.64ID:jli6zd8zd *=/+'")(^ などのアスキーコード内の記号の意味をまとめているサイトを探してるのだけどおすすめ知らないかな?
セキュリティ考慮したテストケースを考えてる
ipaでみた記憶があるのだけど見つからなくて...
セキュリティ考慮したテストケースを考えてる
ipaでみた記憶があるのだけど見つからなくて...
996デフォルトの名無しさん (ワッチョイ 238a-3nWA)
2017/12/23(土) 19:34:27.90ID:dghfoRy20997デフォルトの名無しさん (ワッチョイ 0f7f-XeQH)
2017/12/24(日) 22:57:46.11ID:UGGlJ0vI0 うめ
998デフォルトの名無しさん (ワッチョイ 0f7f-XeQH)
2017/12/24(日) 22:58:09.56ID:UGGlJ0vI0 うめうめ
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【テレビ】25年ぶり復活「炎のチャレンジャー」南原清隆&菊池風磨がMC 懐かし「電流イライラ棒」も [湛然★]
- 【サッカー】驚異の42得点0失点 中国を怒涛の5連勝に導いた日本人指揮官がまさかの退任か。協会対応に国民激怒 [征夷大将軍★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- ( ・᷄ὢ・᷅ )あ?
- 背中が毛むくじゃらのやつなんなの?
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
- ブタをぶったたく
- こんな自転車乗ってたやつがいたら?
- 被災者のためにエロ画像貼ってけ
