- 1 名前:デフォルトの名無しさん [2007/02/11(日) 14:42:17 ]
- ポインタいらね
- 48 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 03:58:21 ]
- >>8
orzの途中に\0が入ったときにおかしくなるので文字列処理のライブラリを使う。 マルチバイト文字コードだとそもそも文字の単位があいまいすぎる。
- 49 名前:デフォルトの名無しさん [2007/04/22(日) 21:40:59 ]
- 誰か俺にダブルポインタを説明してくれ!!
- 50 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 22:06:10 ]
- ポインターのポインター
- 51 名前:デフォルトの名無しさん [2007/04/23(月) 01:58:29 ]
- 死ね
- 52 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 11:31:50 ]
- >>49
何か特殊なものだと言う考えは捨てて、>50の通りに理解する方がいいよ。 #でないと、「ダブルポインタは判りますがトリプルポインタは自信がありません」なんてことになりかねない。
- 53 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 13:31:49 ]
- クアドラプルポインタとか
クインティプルポインタとか セクスタプルポインタとか セプタプルポインタとか オクタプルポインタとか ノナプルポインタとか ディカプルポインタとか 気付いたら勝手にキャストされて循環参照になってたりとか
- 54 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 16:33:01 ]
- へクサディキャプルポインタ
- 55 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 18:44:32 ]
- ポインタないと遅くてメモリ食いまくってやってられんよ
- 56 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 18:53:10 ]
- ハァ?
- 57 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 19:03:13 ]
- 覚え立ての素人ほどポインタを使いたがるよね
- 58 名前:デフォルトの名無しさん [2007/04/23(月) 20:44:59 ]
- charの事をチャラ型って読んでるやつがいる
- 59 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 20:46:30 ]
- 俺はシャア
- 60 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 20:56:37 ]
- プログラムが趣味の頭のおかしい友人が、
ちゃーが・・・と俺に話しかけてきたときは 福原愛もおかしなあだ名つけられてしまったなと。 その後、charの事だと気づいたが。
- 61 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 21:05:42 ]
- 俺はチャー(竹中尚人)
- 62 名前:61 mailto:sage [2007/04/23(月) 21:08:20 ]
- よくよく考えたらcharって言葉初めて聞いたのこれだった
おかしいとか言われたけどこりゃ別におかしくないわ
- 63 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 22:03:40 ]
- ポインタはアンカーのようなもんだと思えば楽じゃね?
飽くまで概念的なもんだが…
- 64 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 22:36:09 ]
- 犬の種類じゃね?
- 65 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 22:45:52 ]
- 「ポインタ=アドレスレジスタ」と考えれば解り易いかも。
昔はポインタに TINY/SMALL/COMPACT/MEDIUM/LARGE/HUGE と言う種類が あってだなぁ・・・
- 66 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 22:49:41 ]
- メモリモデルとポインタ種別ごっちゃにするなよ。
- 67 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:06:08 ]
- 最近はクラスオブジェクトのポインタばっかだから
- 68 名前:デフォルトの名無しさん [2007/04/24(火) 00:24:53 ]
- これで動かない理由がわからない
#include <stdio.h> #include <stdlib.h> #include <string.h> void kakuho(char **buf) { *buf = malloc(sizeof(char)*100); //確保したメモリのポインタを渡す } int main() { char **buf; kakuho(buf); //ポインタのポインタを渡す strcpy(*buf, "hello"); //確保したメモリに文字列をコピーする printf("%s\n", *buf); //文字列を表示する free(*buf); //夏帆したメモリを解放する return 0; }
- 69 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 00:35:15 ]
- >>68
>これで動かない理由がわからない 君が不勉強だから。 >kakuho(buf); //ポインタのポインタを渡す 初期化していない char** を渡している。 つかこれ、どうみても buf を char *buf; で定義し、kakuho(&buf) で受け取るつもりのコード。
- 70 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 00:49:22 ]
- Cは基本的に値しかわたせないんだから
値として何が渡されているかを意識すれば それほど難しくはない。
- 71 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 13:25:00 ]
- >>68
これじゃダメなの? #include <stdio.h> #include <stdlib.h> #include <string.h> void kakuho(char *buf) { buf = malloc(sizeof(char)*100); //確保したメモリのポインタを渡す } int main() { char *buf = NULL; kakuho(buf); //ポインタを渡す if (buf){ strcpy(buf, "hello"); //確保したメモリに文字列をコピーする printf("%s¥n", buf); //文字列を表示する free(buf); //確保したメモリを解放する return 0; } return -1; }
- 72 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 13:33:15 ]
- >>71
kakuho()に渡されたポインタは、kakuho()からは戻されないのでダメ。 素直にkakuho()から戻り値として戻すか、ポインタのポインタを渡してもらってそこに書き込むか。 char * kakuho_return() {return malloc(100);} char * buf = kakuho_return(); void kakuho_pointer(char ** bufPointer) {* bufPointer = malloc(100);} char * buf; kakuho_pointer(& buf);
- 73 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 14:30:06 ]
- hoo( void** value )
{ *value = 0xABCDEF; } main() { void * hage; hage = NULL; // hage は、 0x00000000 hoo(&hage); // hage は、 0x00ABCDEF } こういう事ね。
- 74 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 17:09:35 ]
- >>71
これで42が出力されないのと同程度にダメだ #include <stdio.h> void set(int x) { x = 42; } int main(void) { int n = 0; set(n); printf("%d\n", n); return 0; }
- 75 名前:デフォルトの名無しさん [2007/04/25(水) 22:58:40 ]
- >>68
ええと。 kakuho() と main() の buf は同名の別変数。 kakuho() から return buf; するか、buf をグローバル変数で確保するか。 前者を推奨。 しかしFAQ的によく目にする話題ですが、自分はここで悩んだっけか・・・忘れてしまいました。
- 76 名前:デフォルトの名無しさん [2007/04/26(木) 23:32:13 ]
- >>68のようにダブルポインタで渡されてメモリ確保して返す方法ってないの?
戻り値以外はダメ?
- 77 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 23:40:31 ]
- 特にダブルポインタ渡す意味がわからん
メモリ確保分のポインタだけ渡せばいいのに
- 78 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 23:47:48 ]
- >>69に書いてあんだろ。
- 79 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 23:51:10 ]
- char** ってどうやって初期化するの?
- 80 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 00:11:58 ]
- =0
- 81 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 00:15:55 ]
- char a=' ';
char* b=&a; char** c=&b; ただ、サイズが2byteでいいならの話だけれど。 もっと大きなサイズなら要memset 注)じゃあ、 char* b=" "; char** c=&b; でもいいじゃん!というかもしれないが、bはリテラルだからできるだけ避けたほうがいいよ、strシリーズが使えなくなるからね>リテラルメモリ破壊>メモリアサーション
- 82 名前:デフォルトの名無しさん mailto:sage [2007/04/27(金) 10:54:20 ]
- >>81
夢物語は結構。
- 83 名前:デフォルトの名無しさん [2007/06/11(月) 15:01:55 ]
- characterの略でcharなのはわかるが、a以下がなくなっているので、子音のrのみの発音にならないとおかしいだろう
つまり、"ちゃー"もしくは"きゃー""きゃる""しゃー"などである、そのなかに"きゃら"は無い! と言ってみるテスト
- 84 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 15:13:18 ]
- www.cmagazine.jp/src/kinjite/c/variable.html#index15
ポインタと配列を混同している
- 85 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 15:53:37 ]
- >>84
その人ヘッダファイルの使い方知らないのかな? ttp://www.cmagazine.jp/src/kinjite/cpp/idea.html#index32
- 86 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 16:15:58 ]
- >>85
読むとバカが感染るから要注意。
- 87 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 12:01:29 ]
- 大学の情報学部とかでも「チャー」って読んでる教授いるよ。
それも、かなりの上級者でも。 でも「キャラ」って読んでる人もかなり多い。 語源からすると「キャラ」が正解っぽいけど 語源を知ってる教授でも(講義でキャラクターから来てると説明してた) 「チャー」と読んでる人もいるからよくわからんな。
- 88 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 14:57:47 ]
- キャラクタと読めばいいじゃん
- 89 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 15:00:17 ]
- 英語圏でもチャーって読む人いるのかな。
- 90 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 00:21:02 ]
- >>89
外人の喋ってるケースでは、ちゃーしか聞いたことない。 微妙に最後に巻き舌が入ってるような気もするけど。
- 91 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 00:35:41 ]
- そもそも読み上げる機会がない
- 92 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 07:34:17 ]
- 「キャラ」ってすごく日本語っぽい読み方じゃね?
それなら「キャー」の方が正しくね?
- 93 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 10:50:45 ]
- >>92
語の先頭の「ch」を「k」と読むのは珍しい部類だと思うんだが。
- 94 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 10:54:42 ]
- ちぇる
- 95 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 14:00:33 ]
- charをキャラと読んでしまう奴は英語のフォニックスを全く理解していないと思うのだが・・
- 96 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 15:30:47 ]
- charactor→char
キャラクタ→キャラ と言うロジックかと かくいう俺はチャー派
- 97 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 23:14:56 ]
- 日本人同士で話すのに、英語のふぉにっくすなんて気にしてもねぇ。
- 98 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:38:01 ]
- DestroyThread(this);
- 99 名前:デフォルトの名無しさん [2007/06/15(金) 12:54:17 ]
- >>97
そういうやつに限って、Ironを"アイアン"と呼ぶか"アイロン"と呼ぶかにこだわる(両方正解であり、両方不正解)
- 100 名前:デフォルトの名無しさん [2007/06/15(金) 15:59:26 ]
- energyをエネルギーと読んでしまう奴は英語のフォニックスを全く理解していないと思うのだが・・
- 101 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 17:11:50 ]
- だってドイツ語の音訳だし
- 102 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 18:46:36 ]
- 英語をドイツ語で読むならなおさら
- 103 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 19:54:27 ]
- charは「文字」と読むべき。
- 104 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 20:26:19 ]
- じゃあ全部日本語で呼べばいいな
- 105 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 23:35:48 ]
- 途中で切られている事自体が間違い
- 106 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 05:35:17 ]
- dictionary.goo.ne.jp/search.php?MT=char&kind=ej&mode=0&base=1&row=0
- 107 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 08:16:36 ]
- >>100 はアポージュースください。って言うんだろうな。
- 108 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 10:08:44 ]
- アポー
- 109 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 13:40:48 ]
- int イント
integer インテジャー スレ違いだが SystemVerilog だと両方あったりしてややこしい。
- 110 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:54:37 ]
- ワンモアセッ
- 111 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 11:54:53 ]
- ところでポインタ死ねよ
- 112 名前:デフォルトの名無しさん [2007/06/20(水) 15:34:00 ]
- >>106
charって焦げるって言う意味なんだな... するってぇと、文字列になると、処理が面倒くさくなる文字に対しての皮肉でcharなんかな?
- 113 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 15:41:15 ]
- グラタン
- 114 名前:デフォルトの名無しさん [2007/06/20(水) 15:43:25 ]
- チャーのギターをチャーっとやりてぇ〜
- 115 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 15:47:21 ]
- 逆光線
- 116 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 15:48:30 ]
- 妹の飼ってるフェレットの名前がチャー
- 117 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 01:15:54 ]
- 加藤はチャー
- 118 名前:デフォルトの名無しさん [2007/06/22(金) 13:06:10 ]
- ポインタさんのおかげで背が3cm伸びました。
こんなに効果があるとは思っていませんでした。 本当にありがとうございました。
- 119 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 17:45:17 ]
- Pascalの変数宣言がvarなのが納得いかない。なんでvariableじゃないんだ。
integerとかfunctionとか書かせる癖に。
- 120 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 18:58:38 ]
- それは後から追加された予約語だ
- 121 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 00:09:48 ]
- >>119
まあ、const とか div とかもあるんだから気にすんな、禿げるぞ。 >>120 後からって...、最初の Pascal には var がなかったのか?
- 122 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 01:53:08 ]
- /⌒\
/ / ̄ ̄ ̄ ̄ ̄ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |/ \ < 今、ポインタ殺してきた。リアルで。 / ∠,,_ノ ソ _ ,,.. _) \__________________ /| '',,((ノ ) ノ (\) | | |  ̄'  ̄ イ ハァ ハァ \| υ 、_/ロロロ)_ ノ /  ̄ ̄ \ /| υ \ ( .| / ノ ̄ ̄ ̄) ノ \ ヽ.|◯ | ノ ̄ ̄ ̄) /\ ○\ /.| o .| ノ ̄ ̄ ̄) / \ o゚ \
- 123 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:45:23 ]
- でかした。
- 124 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 11:21:34 ]
- おしっこちゃー
- 125 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 18:43:34 ]
- どんだけ〜
- 126 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 02:12:05 ]
- const unsigned char ch;
int i; for( i = 0; i < sizeof(ch); i++ ) printf( "%c", *(char*)(ch+i) ); ポインタは、こういう風に書くと愛着がわく。
- 127 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 02:14:04 ]
- >>126
teisei const unsigned char ch[] = "01234567890";
- 128 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 10:39:40 ]
- >>126
何故わざわざキャストするの? それと、どの辺に愛着が? 愛着が湧かない書き方も見てみたいな。
- 129 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 11:16:49 ]
- いや、>>126はただのにわかだろうw
- 130 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 12:21:31 ]
- 俄かか膠か
- 131 名前:デフォルトの名無しさん [2007/10/24(水) 04:08:02 ]
- ポインタ死ねよ。
pc11.2ch.net/test/read.cgi/tech/1171172537/
- 132 名前:デフォルトの名無しさん [2007/10/24(水) 04:10:34 ]
- ポインタはどうやって学ぶべきか
pc11.2ch.net/test/read.cgi/tech/1193166476/
- 133 名前:デフォルトの名無しさん [2007/10/24(水) 15:21:10 ]
- ポインタ嫌いな人たちは、iteratorも嫌いなの?
- 134 名前:デフォルトの名無しさん [2007/10/25(木) 12:05:06 ]
- >>1は、CPUの仕組みを理解していないのではないか?
情報処理やる人は、基礎知識としてCPUの仕組みとマシン語、アセンブラを知ったほうがいい。
- 135 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 12:17:08 ]
- C ではポインタよく使ってたし、昔は結構凝った pointer arithmetic とかやって
悦に入ってた傾向がある…少したったらで読みづらいし、ポインタ使っても速く なるわけでもないのであまり使わなくなってきた。Java とかでは明示的には 使わないし。iterator も必要な時には使う(主に STL)けど、結構 [] 使うとき 多いかな。まぁ基本的に楽なものを使うのが一番良いし、それは一人なら自分の好み でグループならポリシー次第。pointer 嫌いって、Java な人かな。
- 136 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 12:18:44 ]
- >>135 爆釣オツぅぅ!!
- 137 名前:デフォルトの名無しさん [2007/10/25(木) 13:22:34 ]
- ポインタなんか要らないと言う話
homepage3.nifty.com/mogami/diary/d0710.html#242
- 138 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 13:25:05 ]
- コンパイラの方が賢いと思うやつのソースは糞
- 139 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 13:59:07 ]
- >>136
どこが釣なんだ?普通だと思うが。 >>137 が釣というのならわかるよ。 ただ、本人がいないところで blog なんか吊し上げても しょうがないと思うけどね。
- 140 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 10:35:36 ]
- 137のリンク先の痛さからすると、本人かも知れんぞw
- 141 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 00:28:10 ]
- ▼ ポインタなんか要らないという話:
なんで最近の言語ですら、みなポインタを持っているのかな。 どうも本物のプログラムを書くにはポインタ(あるいは参照)が 必要であると思われているみたいだけど、それは違う。 ポインタが必要と言うのは要するに速さの問題だ。 昔のコンパイラ技術では人間がポインタを使っていろいろ 最適化する方が速かった。 しかし今なら、この手の機械で追跡可能な最適化は 機械にやらせたほうが速くなるだろう。 ポインタを人間に触らせてしまうと、データのメモリのストアの仕方が コンパイラの自由にできなくなる。 (レジスタに置くか、ヒープか、スタックか。スタックならどこか。 確保するのは呼び出し側か、解放するのは呼ばれた側かなど。) これによって最適化がさまたげられるからだ。
- 142 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 01:35:29 ]
- 世の中のソフトってパソコンアプリばっかりじゃないからねぇ
- 143 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 17:31:13 ]
- >>141
うーむ、ポインタを触るからこそ、CとかC++は何でもできるんじゃねぇの?
- 144 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 18:16:11 ]
- 何でもできるってのが、なんかの機能を実装できるって意味なら
ポインタは全く関係ない ポインタの存在意義は、「ポインタを使ったコーディングが出来る」以上でも以下でもない マクロとかテンプレートとかと同じ
- 145 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:16:59 ]
- Cなんて、アセンブラで書くのカッタルイから開発されただけだからね。
アセンブラを知ってる人が使う言語なんだよね。 何か最近はアセンブラのアの字も知らない青二才がいい気になってるけど、 ポインタとかそういう事だから分からない方がおかしいのさ。 ポインタ知りたいならアセンブラやんなきゃどうしようもない。 なんてった、超低級言語から引きずってる概念だからね。 反面、もっと言語として高級なものならポインタを全く気にする必要は無い。 いやポインタと言う概念すら出てくる余地がない。
- 146 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:26:18 ]
- >>145
かったるいというより portability が大きいと思うぞ。 あと、assembler なんか知らなくても C もポインタもわかるよ。
- 147 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 01:35:04 ]
- >>146
ポータビリティーなんて後付けだよ。 インラインアセンブラなんて初期の頃から付いてるんだから。 ポインタの本来の意味は、アドレスレジスタだね。
- 148 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 12:18:35 ]
- >>148
経緯的には後付けなのかも知れんが、C が広まった 理由としてはポータビリティーは大きいと思うなぁ。
|

|