1 名前:デフォルトの名無しさん [2007/05/08(火) 19:39:26 ] C言語の入門者向け解説スレです。 ・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 11 pc11.2ch.net/test/read.cgi/tech/1176800483/ 過去スレ Part 1 ttp://pc8.2ch.net/test/read.cgi/tech/1146700389/ Part 2 ttp://pc8.2ch.net/test/read.cgi/tech/1153818463/ Part 3 ttp://pc8.2ch.net/test/read.cgi/tech/1160682950/ Part 4 ttp://pc8.2ch.net/test/read.cgi/tech/1162999861/ Part 5 ttp://pc8.2ch.net/test/read.cgi/tech/1165022193/ Part 6 ttp://pc10.2ch.net/test/read.cgi/tech/1167325490/ Part 7 ttp://pc10.2ch.net/test/read.cgi/tech/1170064980/ Part 8 ttp://pc11.2ch.net/test/read.cgi/tech/1171946674/ Part 9 ttp://pc11.2ch.net/test/read.cgi/tech/1173284217/ Part 10 ttp://pc11.2ch.net/test/read.cgi/tech/1174290325/ 関連スレ C/C++の宿題を片付けます 86代目 pc11.2ch.net/test/read.cgi/tech/1176996941/ くだすれC言語(初心者用) Part.2 pc11.2ch.net/test/read.cgi/tech/1172099763/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/l50 はきだめC/C++下級者の質問箱 2 pc11.2ch.net/test/read.cgi/tech/1156206091/l50 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
684 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:32:59 ] >>681 んー・・・ 基本的に「代入したらいくつになるの?」って話だから、 代入ぐらいさせてくれ(っていうか初期化だな。こりゃ)。 int x=(int)NULL; で x が 0 で初期化されない環境があるかないか、という事で。
685 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:42:51 ] あのさ お前らって「Cパズル」ってやったこと無いだろw
686 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:48:31 ] ないお^^
687 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:52:39 ] >>684 C FAQから www.kouno.jp/home/c_faq/c5.html#17 たぶんこうこうところなら(int)NULLは0にならないのだろう
688 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 22:15:24 ] >>687 >たぶんこうこうところなら(int)NULLは0にならないのだろう www.kouno.jp/home/c_faq/c5.html#5 を読んだ?
689 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 22:27:51 ] Cなら NULL か 0 を必要に応じて使い分けなくてはならない C++なら、ほとんどのプログラマーが 0 を使っている VCなら nullptr で即解決
690 名前:687 mailto:sage [2007/05/14(月) 22:37:03 ] >>688 すまん687のNULLは(void*)0のことだと思ってほしい。 FAQ 5.5は0をポインタ型として扱うときの話だろ。 でもここではヌルポインタを整数型として扱おうとしている。 C++でいうところのreinterpret_cast<int>((void*)0)を表したかった。
691 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:28:36 ] 規格上の話を言えばポインタから整数型への変換は implementation-defined だから、何も言えないかと。 大抵はいちいち変換かけたりせず値としてはそのままにするだろうから、実際上は >687 の通りだと思う。 で、調べてて気づいたんだけど、9899:1999 だと、ポインタ型→整数型→元のポインタ型で元の値に戻ることすら 保証されてない(void* 経由ならOK)。 14882:2003 だと、整数型が十分な大きさであれば↑で元の値に戻ると明示されてるんだけど。
692 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:48:33 ] ttp://ja.wikipedia.org/wiki/%E3%83%8C%E3%83%AB_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF) まだやってんのかよ。実際にNULLをコードの中に入れてどういう結果が出力されたかで わかるだろ。各個人の勝手な定義や妄想はいらねーって。 time(NULL)だの使われているけど、何もないを与えてもしゃーないべ? だから、データや値として与えた場合と、ポインタに与えた場合とでどう違うか? それはそうと、>>580 あたりで \0 (NULL文字)の値(コード)が0なのは良いとして アドレス無しってところがどういうことなのか、説明を求む。 文字列の終端を示す文字として使われているんで、その終わりを示す場所にも 先頭からそのNULL文字そのもののアドレスまでちゃんと割り振られているとは思うが? >>568 で言えば unko の後ろに空文字が入っている場所のアドレスが存在していると思うが? #include <stdio.h> int main(void) { char a[5]="unko"; size_t i,sz=sizeof(a)/sizeof(a[0]); for(i=0; i<sz; i++) printf("a[%d] : %p / \"%c\" \n",i,&a[i],a[i]); return 0; }
693 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:56:42 ] printf("a[%d] : %p / \"%c\" / code : %d \n",i,&a[i],a[i],a[i]); なんならこうして、文字コードも参照してみるか?って終端の\0(NULL文字)に対して ASCIIコードでは0が割り当てられているのは既出だが、ちゃんとコード(値)0として 扱われてんだよ。そこは実装されている言語によって扱われ方も違う点はあるだろうけど なんだかんだ言ってもそれはおかしいといっても、実際はそう扱われているというのが現実。 なぁ、おまいら、いい加減目を覚ませよ?辻はもう処女じゃないんだぜ?それが現実さ(タバコを吸う紳士のAA略)
694 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:58:03 ] だれもそんな話してないだろ・・・
695 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:00:21 ] またNULLの話してんのかよ。毎度毎度よく飽きねえな
696 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:01:24 ] これでどうだ? #include <stdio.h> int main(void) { char a[5]; size_t i,sz=sizeof(a)/sizeof(a[0]); a[0]='u'; a[1]='n'; a[2]='k'; a[3]='o'; a[4]=NULL; for(i=0; i<sz; i++) printf("a[%d] : %p / \"%c\" / code : %d \n",i,&a[i],a[i],a[i]); puts(a); return 0; }
697 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:02:29 ] >>694 反応しちゃダメ
698 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:02:56 ] 毎年分からないやつが入ってくるんだから 同じ話題が繰り返されるのはしょうがないさ
699 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:09:19 ] これが現実だ φ1・2・3! images.google.co.jp/images?q=%E6%9D%89%E6%B5%A6%E5%A4%AA%E9%99%BD&lr=lang_ja&ie=UTF-8&oe=UTF-8&aq=t&rls=org.mozilla:ja:official&client=firefox&um=1&sa=N&tab=wi ttp://puka-world.com/php/upload/ren/img-box/1178589185304.jpg ttp://puka-world.com/php/upload/ren/img-box/1178589261938.jpg
700 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 01:35:35 ] つまりこういう事 void hoge(void) { return; }
701 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 01:45:03 ] 戻り値void に 空return を、御丁寧につける必要なんてないだろ そんなふうにかんがえていた時代もありました
702 名前:デフォルトの名無しさん [2007/05/15(火) 01:50:35 ] すみません。PHPはC言語でできてるみたいですが、ソースないっすかね?
703 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 01:52:28 ] >>702 ここからどうぞ www.php.net/downloads.php
704 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 01:57:28 ] >>693 \0は八進法で値を指定するエスケープシーケースなのだから、 ASCIIでなくても'\0'は0に等しくて当然。
705 名前:デフォルトの名無しさん [2007/05/15(火) 02:26:10 ] >>704 お前もわかってないアホだな。無駄口たたくな、自分の勘違いをさらすだけだから。 文字コードを表示するのに %d を用いている点が理解できてないな。
706 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:29:13 ] 704 名前:デフォルトの名無しさん 投稿日:2007/05/15(火) 01:57:28 >>693 \0は八進法で値を指定する \0は八進法で値を指定する \0は八進法で値を指定する \0は八進法で値を指定する ja.wikipedia.org/wiki/%E5%85%AB%E9%80%B2%E8%A8%98%E6%95%B0%E6%B3%95 ん?八進法で値を指定?意味わかんねー。参考にできる文献やソースきぼんぬ。 文字コードの割り当てに何進法とか関係ないから。むしろ16進数にて対応コードを 示している文献はよく見かけるけど。
707 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:33:47 ] >>704 文字の終端を意味する \0(NULL文字、空文字)を入れたところにも ちゃんとデータを格納するアドレスが存在しているって話だが? なんかややこしくなっているが、 unko の後ろにNULL文字があるからといって unko の後ろのアドレスがNULLになっているわけではないんだが・・・ その説明に何をわけの分からない説明にもならないことをいい掛かってきてんだね君は? まさか、値は0だけどアドレスはなしとか書いちゃった赤っ恥>>580 でつか?
708 名前:デフォルトの名無しさん [2007/05/15(火) 02:34:46 ] >>706 「猫でもわかるC言語プログラミング」 これ読め
709 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:37:00 ] ぐぐったらこの154にほとんど似たような文句があった・・・ nssearch.hp.infoseek.co.jp/clang/1127737437.html
710 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:40:51 ] 580 名前:デフォルトの名無しさん 投稿日:2007/05/14(月) 18:13:10 >>572 正確に言えば 正確に言えば 正確に言えば 正確に言えば 正確に言えば ¥0 =値0 、アドレス無し ¥0 =値0 、アドレス無し ¥0 =値0 、アドレス無し その後、文字の終端を意味するNULL文字の入ったデータに 前の文字列に続いてアドレスが割り振られていたことが プログラムの実行にて証明されたため、赤っ恥をかいてしまったのであ〜〜る あっ、ちなみに16進数で表示したかったら、%d から %x なり %X で指定してね♪
711 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:41:15 ] >>706 704じゃないけど 八進法で値を指定ってのはたとえば'A'=65(10進)=101(8進)だから これを'\101'と表すって事では。
712 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:42:45 ] 八進法 八進法 八進法 八進法 八進法 八進法 八進法 wwwwwww
713 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:44:06 ] 酔ってんの? 素面でこれだったら怖いけど。
714 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:45:47 ] 八進法、発進!ブ・ラジャー!
715 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:46:21 ] 相手すんなよ・・・くだらん
716 名前:ここでフレーム投下 mailto:sage [2007/05/15(火) 02:48:41 ] cで10進定数の0を使いたいのですがどうしたらいいでしょう。 普通に0と書いたのでは8進定数になってしまいました。
717 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:49:34 ] 単に順番にコードが割り当てられているのに、なぜか八進法wwwwww 何のために2進数、16進数があるか分かってないな、この八進法w >>704 > ASCIIでなくても'\0'は0に等しくて当然。 これも意味が分からん。そりゃ何進法になっても0は0だが そういうことをいってんじゃねーよ。\0が割り当てられている文字コードが0って話だろ。 ASCIIだからじゃなくて、ASCIIではそうなっていて、そのASCIIコードを参照できる ソースコードを用いた説明で、なぁ〜〜に意見にもならないわけの分からない理論を持ち出してんだ? \0 が 0 に等しい、だから何?そうじゃなくて、文字の終端を表す NULL 文字が入ったアドレスには 値に 0 が入っているのを敢えて参照して、ちゃんとNULL文字もデータとして格納されている アドレスが割り振られているって話 な・ん・だ・がw
718 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:51:11 ] 八進法必死だなw
719 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:52:18 ] 16進数 → \x00 8進数 → \000 \0 は8進数の0だったんだよ。まあ同じ0だけどね。
720 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:52:22 ] 消えろゴミめ
721 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:53:00 ] 八進法、発疹!そりゃちゃいまんがなw
722 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:54:04 ] 704 名前:デフォルトの名無しさん 投稿日:2007/05/15(火) 01:57:28 >>693 \0は八進法で値を指定するエスケープシーケースなのだから、 ASCIIでなくても'\0'は0に等しくて当然。 ASCIIとかじゃなくてNULL文字の入ったchar型のデータにどんな値が入ったかであって 値が入っているアドレスが存在するって話でしょ?ぶぅ〜〜ふふふふっ(吹いた)
723 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:55:45 ] ム板って何か些細なことに異様にこだわる人がいるよね。 やっぱ仕事のストレスなんだろうか。 SI業界で就活してたけどやめとこうかなあ…orz
724 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:55:51 ] >>716 0で始まる数字は8進数だよ。 int a = 090; とか書いてコンパイルしてみ、8進数に9という数字は無いからエラーになるよ
725 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 02:56:14 ] Cの構成を考えていて、偶然にも、 driver.ができました。 『C言語なら俺に聞け』と なっている位なのでそんな物は、 とっくにご存知なのでしょう、ね?
726 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:57:04 ] >>708 読む必要性なし、というか、ちゃんと八進法に関する文献やソースを分かりやすく 提示してもらえませんかねぇ?ASCIIじゃさまざまな文字が表現できないんで いまさらASCIIだけにこだわる気はねーよ。文字コードで10進数以外だと 16進数で表記されているのをよく見かけるんですけどねぇ〜。どこでつか、八進法で 表記しているところは?なんで八進法?そんなんで表記したら、桁が多くなるものだと 10進法で表すより桁の数が増えて面倒なんすけど?
727 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:59:00 ] いったい何の議論をしているのかさっぱりわからんw
728 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:59:55 ] 阿呆が喚いてるだけだろ。議論になんかなってないよ。
729 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 03:00:24 ] >>725 『続』 忘れていました、拡張子をなくしてもdriver、です。
730 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:00:36 ] いい加減秋田から、まとめとくね。NULL文字を入れたところにもアドレスは存在する。 勝手にNULLポインタにしちゃだめだぞ、めっ
731 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 03:01:48 ] >>726 source.で作成したので厭です。
732 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:02:19 ] 何でお前らそんなに喧嘩腰なの^^
733 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:03:30 ] ?
734 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:05:25 ] >>708 >猫でもわかるC言語プログラミング これは糞、ほかのをおすすめします
735 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 03:06:23 ] >>726 『続』 !(Φ_Φ+) あ、number.を間違えてしまいました、失礼。
736 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:06:37 ] さぁ、みんなで八進法の文字コード対応表を表示させようじょのいこ! #include <stdio.h> int main(void) { int i,cnt; for(i=32,cnt=0; i<127; i++,cnt++) { printf("%c : %3d",i,i); if(cnt%6==5) printf("\n"); else printf(" | "); } printf("\n\n魅惑の八進法!\n"); for(i=32,cnt=0; i<127; i++,cnt++) { printf("%c : %3o",i,i); if(cnt%6==5) printf("\n"); else printf(" | "); } return 0; }
737 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:06:52 ] んじゃこないだ見かけた望洋のアレ
738 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:08:59 ] あっ、すまん、これも追加しといて printf("\n\n平凡な十六進法!\n"); for(i=32,cnt=0; i<127; i++,cnt++) { printf("%c : %X",i,i); if(cnt%6==5) printf("\n"); else printf(" | "); }
739 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:11:20 ] ( ´ω`)
740 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:11:24 ] 微笑ましいけど鬱陶しいなあw
741 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:12:29 ] 天災と思って諦めてる
742 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:13:02 ] 天才に向かって失礼な、めっ、めっめっ(猫をしかりつけるように)
743 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:17:53 ] カス
744 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:18:01 ] ハゲ
745 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:26:25 ] ナルはナルシストのナルさぁ〜、決して成瀬川なるのなるではない。
746 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:26:33 ] (´ω`)
747 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:30:52 ] なんか変な方向に行ってるみたいだな。 1. ヌル文字の値が '\0' なのは規格で決まってる。 2. \0 という特別なエスケープシーケンスは規格で用意されておらず、 これは 8 進数の値を直接埋め込むエスケープシーケンスでしかないので、 '\0' の値はどの環境でも厳密に 0 になる。 (そもそもそんな特別なエスケープシーケンスを用意してしまったら、 8 進数で 0 を埋め込むことが不可能になってしまう) これでいいだろ、もう。
748 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:35:06 ] >>747 だからぁ、NULL文字もちゃんとデータとして存在しているから 文字の終端を示す\0が入っているアドレスもちゃんと存在しているって話なんだが? 規格がどうとかじゃなくて、空文字でNULLが扱われていてもちゃんと文字データとして 存在して実態があるからNULLポインタの示す場所と勝手に解釈するなって話ナノーメートル
749 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:36:40 ] アドレスがあるのは当たり前だろ。
750 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 03:37:54 ] !(Φ_Φ+) 頑張っていますね? source.を書きたい、のですが、 original.なのでとって置きます。
751 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:39:07 ] あと、NULLポインタが示すオブジェクトに対してデータを表示させようとかするのは どうも過去ログからしてタブーっぽい。指し示す場所がないゆえに、環境によっては (null)とご丁寧に表示してくれているが、実体がないから何も表示できないのが当たり前だし。
752 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:42:19 ] >>748 うーん、「NULL」が出てきたら脳内で「NULLポインタ」に置換しちゃう人? >>747 は全くNULLポインタについて言及してないよ。 だけどまあ、NULL文字ってのは誤解しやすいような気もするから、 終端文字と表現するのがいいんじゃねえのかなあ。
753 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:44:13 ] NULL ポインタは参照しちゃいけない。 「あらゆる有効なアドレスと比較しても等しくならない」のが NULL ポインタの定義だから。 ただ、NULL 渡して表示させるという場合、 内部でポインタが NULL ならこれを表示・・・という分岐があるのなら問題ない。 参照してないから。
754 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:44:21 ] 彼は自分の知らないことに話が展開していくのを怖がってるんですよ
755 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:45:04 ] おまいらほんっとにナルちゃんが好きなんだね ♥
756 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:45:50 ] NULL 文字という表記は良くない。 NULL はヌルポインタを表すマクロ名を表すから、紛らわしい。 null 文字という風に小文字で書くならいい。
757 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:45:50 ] >>749 いや、だからそれを勘違いしたのが >>580 なんだが、お前いい加減にしろ? 何歳だ?ゆとり教育世代か?寝ろやボケガキ
758 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:46:38 ] >>580 みたいな無茶苦茶なのは、既に訂正するとかそういうレベルじゃないな。
759 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:46:39 ] >>754 はいはい、すでに話がわかっているという証拠のソースも何度も提示しているのに それすら自分の思い込みや勘違いで否定しているお前が論破されるのが怖くて 何も筋の通った意見がいえなくておびえているのはお前だろ?
760 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:46:51 ] 表記の問題じゃない
761 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:47:37 ] 怖がりすぎ
762 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:49:02 ] 「彼」って自分の事だと思ったの? 自覚してんのだなぁ。
763 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:49:15 ] >>752 > >>747 は全くNULLポインタについて言及してないよ。 いや、モロ最初の項目で > 1. ヌル文字の値が '\0' なのは規格で決まってる。 言及してんじゃん。だから、NULL文字の値が\0とか話ではないが 値は \0 ではなく 0 だが?それすら間違ってんじゃん。 あくまでもエスケープシーケンス、 printf(""); の " " の中で使うときとかで用いられる \n \t のように \ がついたものは値じゃないんだが?w
764 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:50:55 ] んで、ことの本質は >>580 にある \0 あるいは NULL文字データが入っているところにも ちゃんとアドレスが文字列の終わりに続いて割り振られているって説明に、なぁ〜〜に ごちゃごちゃとわけのわからない言い掛かりをしてきているんだね?って言っているんだが? いや、もうええわ。八進法とかわけのわからん話を絡めるし、気持ち悪いぜ?
765 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:53:08 ] >>763 だからそこのどこにNULLポインタが出てくるの?
766 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:53:16 ] NULL ヌルポインタを表す単なるマクロ。 C では 0 あるいは ((void*)0) と定義される。 '\0' ヌル文字。値の全てのビットが厳密に 0 となると規格で決められている。 この表記の場合、型は C では int 、C++ では char 。 0 数値の 0 でもあり、ヌルポインタでもある。 型は int ではあるが、値 0 になる定数式がポインタに代入された場合、 あるいはポインタと比較された場合は、ヌルポインタと解釈される。 その場合、その値のビットが全て 0 になるという保証はない。
767 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:53:19 ] 日本語でおk
768 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:54:30 ] > 1. ヌル文字の値が '\0' なのは規格で決まってる。 全くNULLポインタには言及してないんだよ。
769 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:55:13 ] ヌル文字とヌルポインタは全くの別物ってのが分かってないのかねえ。
770 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:56:34 ] >>763 分かってない奴がでしゃばるな
771 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:58:03 ] あたいのこと、舐めたらいかんぜよ。 ちなみに \a \n \t \0 だのは文字であって値ではありませんので、あしからず。 それらを示す文字コードは値といってもまぁ差し支えないかもしれんけどね。 んじゃ、レベルの低い知ったかを相手にするのもここらでやめておいてやるわ。 まったく、本当に理解力のないどうしようもないやつっているんだなw だからこの世はいつまでも頭の悪い奴が立場が悪くなってファビョって自暴自棄になるんだなw
772 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:59:23 ] >771 自己紹介乙
773 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 03:59:46 ] C++ の規格票(しかも 1998 年のドラフト)ですまんが、 null character (respectively, null wide character), whose representation has all zero bits. ヌル文字(あるいはヌルワイド文字)、これは全てのビットが 0 の表現をとる。 >>771 \0 は文字だが '\0' は値だぞ。
774 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:00:23 ] ということで NULL文字をNULLポインタと思いこんで延々暴れたバカがいた ということでよいかな。まあ紛らわしいからその分は差し引いてあげるけどさ。
775 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:01:15 ] >>774 よい
776 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:02:17 ] ttp://ratan.dyndns.info/MicrosoftVisualC++/eskape.html \がついたものはここでも説明されているように「文字」であって値には該当せず。 いわゆる制御文字ゆえに表示される文字とは別扱いだが それらにも「文字コード」が割り振られている。その文字コードを char型のデータに入れることで扱っているのだが、そこまで理解できないかなぁ 理解力のないお○カちん達ってw だからNULL文字に対応するコードが0であって、\0は値じゃなくてNULL文字と言うべき。
777 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:03:07 ] >>772 もうその程度のことでしか反論できないでしょ?おまえどこの学校出身だ? まぁ、ランクE未満の大学でもなく大学未満なんでしょうね。 派遣のお仕事がんばってねぇ〜〜 ♣
778 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:03:25 ] >>747 で \0 と '\0' を使い分けてるのが理解できないんだろうか。
779 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:04:19 ] 「NULL文字」なんて腐った表記をする奴にロクな奴はいない。 null文字と書け。
780 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:05:45 ] >>765 >>580 の > ¥0 =値0 、アドレス無し 参照。ちなみに\0(NULL文字、空文字)に割り当てられているコードは0だが \0自身は値ではなく「文字」ですから。
781 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:06:48 ] \0が値だなんて誰か言ってたっけ
782 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:08:18 ] まあ、'\0' も値が 0 になる整定数式だから ヌルポインタとして扱おうと思えば扱えるけどね。 紛らわしいから絶対やっちゃいけないが。
783 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:09:01 ] >>580 がクソなのは既に誰もが認めている終わった話題だ。
784 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 04:09:57 ] 580・・・ 誰かがこんなのを擁護してるとでも思ったのかな