- 1 名前:デフォルトの名無しさん [2007/02/11(日) 14:42:17 ]
- ポインタいらね
- 2 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 14:44:36 ]
- >>1
まず、このスレでは、参照はポインタとみなすのか そうでないのか、はっきりしてさせろ。話はそれからだ。
- 3 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 14:45:22 ]
- 変な使い方しないんなら、あれほどわかりやすいものはないと思うんだけどな。
- 4 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 14:47:45 ]
- >>2
みなすわけねえだろ。 「参照いらね」なはずあるかボケ。
- 5 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 14:51:11 ]
- >>4
よし。じゃあ、お前にとっての 参照とポインタの違いを説明しろ。 話はそれからだ。
- 6 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 14:53:47 ]
- 演算できるかどうかにきまってるじゃねーか。
それ以外あるかボケ。
- 7 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 15:30:06 ]
- なにも足さない、なにも引かない
大人のためのポインタ、それが参照です サントリー
- 8 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 16:13:24 ]
- char orz[] = "orz<3";
char *p = orz; この条件で1, 3, 5の文字をpを使って取り出す時、お前らなら p[0], p[2], p[4] か *p, *(p + 2), *(p + 4) のどっちで書く?
- 9 名前:デフォルトの名無しさん [2007/02/11(日) 16:13:34 ]
- ポインポインポイン
- 10 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 16:25:46 ]
- ポインタが腐ってるんじゃなくて、文法が腐ってるという話
kmaebashi.com/programmer/pointer.html
- 11 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 16:36:02 ]
- >>8
俺なら、0[p], 2[p], 4[p] かな。
- 12 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 17:00:06 ]
- >>8
マジレスすると、p[0], p[2], p[4] 。 ただ、同じ配列の要素に2回以上アクセスする場合は、 下のように別の変数に代入してから使う。 int i; char orz[2][6]; char *p; strcpy(orz[0],"orz"); strcpy(orz[1],"orz<3"); for (i=0;i<2;i++) { p = orz[i]; if (strstr(p,"orz") && !strstr(p,"<3")) { strcat(p,"<3"); } printf("%s\n",p); }
- 13 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 17:01:41 ]
- ぬるぽ
- 14 名前:デフォルトの名無しさん [2007/02/12(月) 11:55:11 ]
- ポインタイラネっていうより、ポインタも使える自由さがイラネってところじゃね。
- 15 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 12:08:22 ]
- >>10
意図的かどうか知らんがミスリードしてるので読んではいけません
- 16 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 13:25:25 ]
- スタックポインタもイラネ
- 17 名前:デフォルトの名無しさん [2007/02/12(月) 13:27:14 ]
- C言語がイラネ、ってことだ。C++もね
- 18 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 17:08:24 ]
- >>16
命令ポインタもイラネ
- 19 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 17:28:02 ]
- このスレもいらね
- 20 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 17:36:49 ]
- >>19
それを言っちゃあおしまいだぜ
- 21 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 17:45:13 ]
- memset(&>>1, ' ', 14);
- 22 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 22:30:27 ]
- ______ / // / / i, i ヽ
[_ ____] 〔/ / / / ∧ / ヽ i, i | | ノ ノ ┌┐ / / / / / / | / `、 i ! |i i , l / 二~フ | ,二] ./ ,ィ / / // / | / | | | l ! i | | `"<ヽ / | L_/| 7_i//`/ー- 、/ / | / | l | l l ! ! i _// L__/ ,/ / ,,,,- ニ=x-、_ !/ |i _, +十'イ i ! !  ̄ / ''" / :;;r jヽ`\,/, ,リ i_,, x=、 レ | / / :| ┌┐ /| /:::::;;;;;;;:`::::::l " "/ :;;r ヽヽ |/| / :! [二 ] __ {::| |::::::::;;;;;;;;:::::::l l:::;;;;;` ::| l // :! 。 | |/,ー-、ヽ  ̄フ"`'、:_ '''' ,ノ l '''' ノ,,.., /○ :| / / _,,| | / ー''"..  ̄ ` ー '、 ヽ 。 :| ○ レ1 | / o └、 >|:::::::::::::::: , ..::::::`''''"i :| :| .|__| ヽ_/^ \:::::::::::::: 。 _,.-ーx,, _,,,__ :::::::::::::::○:| :| :| _ _ _ トー:: ○ / `''''''" `i ::::::::::::::: l .:| l :| / / / / / / | ::| / | / :| :l :| / / / / / / iヾ :| / / , 'J :::| :| :| `" `" `" {::| ::| | / , イ ::::| :| :| ○ ○ ○ l ::| :|、 ヽ / / ::::| :::::| :| :|
- 23 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 22:25:40 ]
- int* a;
*a=100; ぼこあーん
- 24 名前:デフォルトの名無しさん [2007/02/15(木) 00:36:08 ]
- >>23
おいおい、それじゃ死亡フラグ立ってるぞw
- 25 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 00:55:18 ]
- >>21
memset(&>>1, ' ', sizeof(>>1)); マジックナンバーは使うなとあれほど
- 26 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 00:59:08 ]
- 初心者は*と&の使い方(書き方や文法)で混乱してるんだよな。
概念がずれまくってる奴ってのはあまりいない。
- 27 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 01:06:09 ]
- void main(){
int *a; a = (int*)malloc(sizeof(int)); *a = 100; } こうですか?わかりません><
- 28 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 01:14:32 ]
- >>27
とりあえずcharでやってみそ。
- 29 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 01:58:16 ]
- >>27
60点
- 30 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 11:52:29 ]
- char *hoge(){
char *s = "hogehoge"; return s; }
- 31 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 21:51:46 ]
- ポインタの恐怖から開放されたいか?
ならばこれを唱えよ!! #define char*
- 32 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 23:15:43 ]
- #undef char*
- 33 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 23:38:40 ]
- charはキャラだよな。
チャーって言うのへんだよな。
- 34 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 23:54:46 ]
- キャー
- 35 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 00:04:20 ]
- ダブル精度って言い方を聞いた時はすごく新鮮に感じた
- 36 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 00:06:13 ]
- そうだよな。
トリプルが普通だもんな
- 37 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 03:40:10 ]
- ポインタはオブジェクトを指し示すもの。
決してメモリのアドレスではありません。
- 38 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 05:56:12 ]
- >>33
シャーだよ。赤い彗星の。
- 39 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 08:57:10 ]
- >>37
Windows95は、他アプリのメモリ領域も指定できる、 本当にメモリーのアドレスとなる恐怖のOS。(ME・98も?) NT系はアプリごとにOSがメモリー管理してくれる。
- 40 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 20:40:29 ]
- メモリー配置をCPUがしてくれてて、
論理アドレスと物理アドレスが別物になってるから 他のアプリとは決して被らないはずなのに・・・
- 41 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 21:44:01 ]
- >38
残念だがそれはcharでなくCharだ。
- 42 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 00:12:03 ]
- これから関数を呼び出すときはこう書くように。
(****************************printf)("hello pointer !!!!!!");
- 43 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 05:34:31 ]
- C言語は卑猥すぎる。
何がって、*がだよ。*ですよ*。もう形からしていやらしい。 しかも名前は逆参照演算子。普通とは逆に突っ込む。 意味はポインタ。挿すものだなんて…製作者は何を考えてるんだか。 *を付けた変数をファック。 とても18未満には教えていいような言語じゃないね!
- 44 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 11:57:31 ]
- 「スーパーマリオブラザーズは女性差別・セクハラ」
なんで、あんな酷いセクハラ作品が子供たちに大っぴらに売られているのでしょう? まず、男二人が主人公で、捕まるのは女性。これは明らかに女性差別です。 主人公が好色なイタリア人の男。これも子供の教育にはよくありません。 特に二人のあの鼻!!卑猥すぎます。子供が性犯罪オス原因の一つです。 そして敵がクリボーにノコノコ。これらはキノコに亀です。 明らかに男性器を象徴しています。 それにクリボーってなんですか!!クリ○リスと棒を合体させた非常に卑猥なネーミングですよ。 パワーアップアイテムもそうです。キノコに花。これも男性器と女性器です。 しかも、大きくなるんですよ。勃起です勃起。子供には早すぎます。 あのスターってなんですか?よく男性の読むいかがわしい漫画で女性の乳首や性器を 隠すのに用いられるのが星マークですが、それが逃げる、マリオが追いかける、 こういった姿は見せたくないものを無理やり剥ぎ取ろうとするレイプを 連想させます。あぁ、もう言い尽くせません。 大きくなったり、土管に入る、ブラックパックンッフラワーなんて もう言うまでもない下品なキャラクターばかりのこの作品。 女性の地位向上を阻んでいますよ。皆さんもそう思いますよね?
- 45 名前:デフォルトの名無しさん [2007/02/17(土) 19:51:42 ]
- ポインヨ
- 46 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 20:59:35 ]
- C#最高
- 47 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 21:01:05 ]
- レーザーポインタ
- 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をエネルギーと読んでしまう奴は英語のフォニックスを全く理解していないと思うのだが・・
|

|