1 :
デフォルトの名無しさん:
ポインタいらね
>>1 まず、このスレでは、参照はポインタとみなすのか
そうでないのか、はっきりしてさせろ。話はそれからだ。
変な使い方しないんなら、あれほどわかりやすいものはないと思うんだけどな。
>>2 みなすわけねえだろ。
「参照いらね」なはずあるかボケ。
>>4 よし。じゃあ、お前にとっての
参照とポインタの違いを説明しろ。
話はそれからだ。
演算できるかどうかにきまってるじゃねーか。
それ以外あるかボケ。
なにも足さない、なにも引かない
大人のためのポインタ、それが参照です
サントリー
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
ポインポインポイン
>>8 俺なら、0[p], 2[p], 4[p] かな。
>>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);
}
ぬるぽ
14 :
デフォルトの名無しさん:2007/02/12(月) 11:55:11
ポインタイラネっていうより、ポインタも使える自由さがイラネってところじゃね。
>>10 意図的かどうか知らんがミスリードしてるので読んではいけません
スタックポインタもイラネ
17 :
デフォルトの名無しさん:2007/02/12(月) 13:27:14
C言語がイラネ、ってことだ。C++もね
このスレもいらね
______ / // / / 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 ::| :|、 ヽ / / ::::| :::::| :| :|
int* a;
*a=100;
ぼこあーん
24 :
デフォルトの名無しさん:2007/02/15(木) 00:36:08
>>23 おいおい、それじゃ死亡フラグ立ってるぞw
>>21 memset(&
>>1, ' ', sizeof(
>>1));
マジックナンバーは使うなとあれほど
初心者は*と&の使い方(書き方や文法)で混乱してるんだよな。
概念がずれまくってる奴ってのはあまりいない。
void main(){
int *a;
a = (int*)malloc(sizeof(int));
*a = 100;
}
こうですか?わかりません><
char *hoge(){
char *s = "hogehoge";
return s;
}
ポインタの恐怖から開放されたいか?
ならばこれを唱えよ!!
#define char*
#undef char*
charはキャラだよな。
チャーって言うのへんだよな。
キャー
ダブル精度って言い方を聞いた時はすごく新鮮に感じた
そうだよな。
トリプルが普通だもんな
ポインタはオブジェクトを指し示すもの。
決してメモリのアドレスではありません。
>>37 Windows95は、他アプリのメモリ領域も指定できる、
本当にメモリーのアドレスとなる恐怖のOS。(ME・98も?)
NT系はアプリごとにOSがメモリー管理してくれる。
メモリー配置をCPUがしてくれてて、
論理アドレスと物理アドレスが別物になってるから
他のアプリとは決して被らないはずなのに・・・
>38
残念だがそれはcharでなくCharだ。
これから関数を呼び出すときはこう書くように。
(****************************printf)("hello pointer !!!!!!");
C言語は卑猥すぎる。
何がって、*がだよ。*ですよ*。もう形からしていやらしい。
しかも名前は逆参照演算子。普通とは逆に突っ込む。
意味はポインタ。挿すものだなんて…製作者は何を考えてるんだか。
*を付けた変数をファック。
とても18未満には教えていいような言語じゃないね!
「スーパーマリオブラザーズは女性差別・セクハラ」
なんで、あんな酷いセクハラ作品が子供たちに大っぴらに売られているのでしょう?
まず、男二人が主人公で、捕まるのは女性。これは明らかに女性差別です。
主人公が好色なイタリア人の男。これも子供の教育にはよくありません。
特に二人のあの鼻!!卑猥すぎます。子供が性犯罪オス原因の一つです。
そして敵がクリボーにノコノコ。これらはキノコに亀です。
明らかに男性器を象徴しています。
それにクリボーってなんですか!!クリ○リスと棒を合体させた非常に卑猥なネーミングですよ。
パワーアップアイテムもそうです。キノコに花。これも男性器と女性器です。
しかも、大きくなるんですよ。勃起です勃起。子供には早すぎます。
あのスターってなんですか?よく男性の読むいかがわしい漫画で女性の乳首や性器を
隠すのに用いられるのが星マークですが、それが逃げる、マリオが追いかける、
こういった姿は見せたくないものを無理やり剥ぎ取ろうとするレイプを
連想させます。あぁ、もう言い尽くせません。
大きくなったり、土管に入る、ブラックパックンッフラワーなんて
もう言うまでもない下品なキャラクターばかりのこの作品。
女性の地位向上を阻んでいますよ。皆さんもそう思いますよね?
45 :
デフォルトの名無しさん:2007/02/17(土) 19:51:42
ポインヨ
C#最高
レーザーポインタ
>>8 orzの途中に\0が入ったときにおかしくなるので文字列処理のライブラリを使う。
マルチバイト文字コードだとそもそも文字の単位があいまいすぎる。
49 :
デフォルトの名無しさん:2007/04/22(日) 21:40:59
誰か俺にダブルポインタを説明してくれ!!
ポインターのポインター
51 :
デフォルトの名無しさん:2007/04/23(月) 01:58:29
死ね
>>49 何か特殊なものだと言う考えは捨てて、>50の通りに理解する方がいいよ。
#でないと、「ダブルポインタは判りますがトリプルポインタは自信がありません」なんてことになりかねない。
クアドラプルポインタとか
クインティプルポインタとか
セクスタプルポインタとか
セプタプルポインタとか
オクタプルポインタとか
ノナプルポインタとか
ディカプルポインタとか
気付いたら勝手にキャストされて循環参照になってたりとか
へクサディキャプルポインタ
ポインタないと遅くてメモリ食いまくってやってられんよ
ハァ?
覚え立ての素人ほどポインタを使いたがるよね
58 :
デフォルトの名無しさん:2007/04/23(月) 20:44:59
charの事をチャラ型って読んでるやつがいる
俺はシャア
プログラムが趣味の頭のおかしい友人が、
ちゃーが・・・と俺に話しかけてきたときは
福原愛もおかしなあだ名つけられてしまったなと。
その後、charの事だと気づいたが。
俺はチャー(竹中尚人)
62 :
61:2007/04/23(月) 21:08:20
よくよく考えたらcharって言葉初めて聞いたのこれだった
おかしいとか言われたけどこりゃ別におかしくないわ
ポインタはアンカーのようなもんだと思えば楽じゃね?
飽くまで概念的なもんだが…
犬の種類じゃね?
「ポインタ=アドレスレジスタ」と考えれば解り易いかも。
昔はポインタに TINY/SMALL/COMPACT/MEDIUM/LARGE/HUGE と言う種類が
あってだなぁ・・・
メモリモデルとポインタ種別ごっちゃにするなよ。
最近はクラスオブジェクトのポインタばっかだから
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;
}
>>68 >これで動かない理由がわからない
君が不勉強だから。
>kakuho(buf); //ポインタのポインタを渡す
初期化していない char** を渡している。
つかこれ、どうみても buf を
char *buf;
で定義し、kakuho(&buf) で受け取るつもりのコード。
Cは基本的に値しかわたせないんだから
値として何が渡されているかを意識すれば
それほど難しくはない。
>>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;
}
>>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);
hoo( void** value )
{
*value = 0xABCDEF;
}
main()
{
void * hage;
hage = NULL;
// hage は、 0x00000000
hoo(&hage);
// hage は、 0x00ABCDEF
}
こういう事ね。
>>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のようにダブルポインタで渡されてメモリ確保して返す方法ってないの?
戻り値以外はダメ?
特にダブルポインタ渡す意味がわからん
メモリ確保分のポインタだけ渡せばいいのに
char** ってどうやって初期化するの?
=0
char a=' ';
char* b=&a;
char** c=&b;
ただ、サイズが2byteでいいならの話だけれど。
もっと大きなサイズなら要memset
注)じゃあ、
char* b=" ";
char** c=&b;
でもいいじゃん!というかもしれないが、bはリテラルだからできるだけ避けたほうがいいよ、strシリーズが使えなくなるからね>リテラルメモリ破壊>メモリアサーション
83 :
デフォルトの名無しさん:2007/06/11(月) 15:01:55
characterの略でcharなのはわかるが、a以下がなくなっているので、子音のrのみの発音にならないとおかしいだろう
つまり、"ちゃー"もしくは"きゃー""きゃる""しゃー"などである、そのなかに"きゃら"は無い!
と言ってみるテスト
大学の情報学部とかでも「チャー」って読んでる教授いるよ。
それも、かなりの上級者でも。
でも「キャラ」って読んでる人もかなり多い。
語源からすると「キャラ」が正解っぽいけど
語源を知ってる教授でも(講義でキャラクターから来てると説明してた)
「チャー」と読んでる人もいるからよくわからんな。
キャラクタと読めばいいじゃん
英語圏でもチャーって読む人いるのかな。
>>89 外人の喋ってるケースでは、ちゃーしか聞いたことない。
微妙に最後に巻き舌が入ってるような気もするけど。
そもそも読み上げる機会がない
「キャラ」ってすごく日本語っぽい読み方じゃね?
それなら「キャー」の方が正しくね?
>>92 語の先頭の「ch」を「k」と読むのは珍しい部類だと思うんだが。
ちぇる
charをキャラと読んでしまう奴は英語のフォニックスを全く理解していないと思うのだが・・
charactor→char
キャラクタ→キャラ
と言うロジックかと
かくいう俺はチャー派
日本人同士で話すのに、英語のふぉにっくすなんて気にしてもねぇ。
DestroyThread(this);
99 :
デフォルトの名無しさん:2007/06/15(金) 12:54:17
>>97 そういうやつに限って、Ironを"アイアン"と呼ぶか"アイロン"と呼ぶかにこだわる(両方正解であり、両方不正解)
100 :
デフォルトの名無しさん:2007/06/15(金) 15:59:26
energyをエネルギーと読んでしまう奴は英語のフォニックスを全く理解していないと思うのだが・・
だってドイツ語の音訳だし
英語をドイツ語で読むならなおさら
charは「文字」と読むべき。
じゃあ全部日本語で呼べばいいな
途中で切られている事自体が間違い
>>100 はアポージュースください。って言うんだろうな。
アポー
int イント
integer インテジャー
スレ違いだが SystemVerilog だと両方あったりしてややこしい。
ワンモアセッ
ところでポインタ死ねよ
112 :
デフォルトの名無しさん:2007/06/20(水) 15:34:00
>>106 charって焦げるって言う意味なんだな...
するってぇと、文字列になると、処理が面倒くさくなる文字に対しての皮肉でcharなんかな?
グラタン
114 :
デフォルトの名無しさん:2007/06/20(水) 15:43:25
チャーのギターをチャーっとやりてぇ〜
逆光線
妹の飼ってるフェレットの名前がチャー
加藤はチャー
118 :
デフォルトの名無しさん:2007/06/22(金) 13:06:10
ポインタさんのおかげで背が3cm伸びました。
こんなに効果があるとは思っていませんでした。
本当にありがとうございました。
Pascalの変数宣言がvarなのが納得いかない。なんでvariableじゃないんだ。
integerとかfunctionとか書かせる癖に。
それは後から追加された予約語だ
>>119 まあ、const とか div とかもあるんだから気にすんな、禿げるぞ。
>>120 後からって...、最初の Pascal には var がなかったのか?
/⌒\
/ / ̄ ̄ ̄ ̄ ̄ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|/ \ < 今、ポインタ殺してきた。リアルで。
/ ∠,,_ノ ソ _ ,,.. _) \__________________
/| '',,((ノ ) ノ (\) |
| |  ̄'  ̄ イ ハァ ハァ
\| υ 、_/ロロロ)_ ノ
/  ̄ ̄ \
/| υ \
( .| / ノ ̄ ̄ ̄) ノ \
ヽ.|◯ | ノ ̄ ̄ ̄) /\ ○\
/.| o .| ノ ̄ ̄ ̄) / \ o゚ \
でかした。
おしっこちゃー
どんだけ〜
const unsigned char ch;
int i;
for( i = 0; i < sizeof(ch); i++ )
printf( "%c", *(char*)(ch+i) );
ポインタは、こういう風に書くと愛着がわく。
>>126 teisei
const unsigned char ch[] = "01234567890";
>>126 何故わざわざキャストするの?
それと、どの辺に愛着が?
愛着が湧かない書き方も見てみたいな。
俄かか膠か
131 :
デフォルトの名無しさん:2007/10/24(水) 04:08:02
132 :
デフォルトの名無しさん:2007/10/24(水) 04:10:34
133 :
デフォルトの名無しさん:2007/10/24(水) 15:21:10
ポインタ嫌いな人たちは、iteratorも嫌いなの?
134 :
デフォルトの名無しさん:2007/10/25(木) 12:05:06
>>1は、CPUの仕組みを理解していないのではないか?
情報処理やる人は、基礎知識としてCPUの仕組みとマシン語、アセンブラを知ったほうがいい。
C ではポインタよく使ってたし、昔は結構凝った pointer arithmetic とかやって
悦に入ってた傾向がある…少したったらで読みづらいし、ポインタ使っても速く
なるわけでもないのであまり使わなくなってきた。Java とかでは明示的には
使わないし。iterator も必要な時には使う(主に STL)けど、結構 [] 使うとき
多いかな。まぁ基本的に楽なものを使うのが一番良いし、それは一人なら自分の好み
でグループならポリシー次第。pointer 嫌いって、Java な人かな。
137 :
デフォルトの名無しさん:2007/10/25(木) 13:22:34
コンパイラの方が賢いと思うやつのソースは糞
>>136 どこが釣なんだ?普通だと思うが。
>>137 が釣というのならわかるよ。
ただ、本人がいないところで blog なんか吊し上げても
しょうがないと思うけどね。
137のリンク先の痛さからすると、本人かも知れんぞw
▼ ポインタなんか要らないという話:
なんで最近の言語ですら、みなポインタを持っているのかな。
どうも本物のプログラムを書くにはポインタ(あるいは参照)が
必要であると思われているみたいだけど、それは違う。
ポインタが必要と言うのは要するに速さの問題だ。
昔のコンパイラ技術では人間がポインタを使っていろいろ
最適化する方が速かった。
しかし今なら、この手の機械で追跡可能な最適化は
機械にやらせたほうが速くなるだろう。
ポインタを人間に触らせてしまうと、データのメモリのストアの仕方が
コンパイラの自由にできなくなる。
(レジスタに置くか、ヒープか、スタックか。スタックならどこか。
確保するのは呼び出し側か、解放するのは呼ばれた側かなど。)
これによって最適化がさまたげられるからだ。
世の中のソフトってパソコンアプリばっかりじゃないからねぇ
>>141 うーむ、ポインタを触るからこそ、CとかC++は何でもできるんじゃねぇの?
何でもできるってのが、なんかの機能を実装できるって意味なら
ポインタは全く関係ない
ポインタの存在意義は、「ポインタを使ったコーディングが出来る」以上でも以下でもない
マクロとかテンプレートとかと同じ
Cなんて、アセンブラで書くのカッタルイから開発されただけだからね。
アセンブラを知ってる人が使う言語なんだよね。
何か最近はアセンブラのアの字も知らない青二才がいい気になってるけど、
ポインタとかそういう事だから分からない方がおかしいのさ。
ポインタ知りたいならアセンブラやんなきゃどうしようもない。
なんてった、超低級言語から引きずってる概念だからね。
反面、もっと言語として高級なものならポインタを全く気にする必要は無い。
いやポインタと言う概念すら出てくる余地がない。
>>145 かったるいというより portability が大きいと思うぞ。
あと、assembler なんか知らなくても C もポインタもわかるよ。
>>146 ポータビリティーなんて後付けだよ。
インラインアセンブラなんて初期の頃から付いてるんだから。
ポインタの本来の意味は、アドレスレジスタだね。
>>148 経緯的には後付けなのかも知れんが、C が広まった
理由としてはポータビリティーは大きいと思うなぁ。
メモリを直接弄る場合にゃ、ポインタは分かりやすい。組み込みだと、ポインタがないと死ねる。
でも、普通のアプリ作る場合には、ポインタは邪魔だよね。
専門書読むのに索引あると便利だが、
マンガ読むときには必要ないって感じだな。
どちらかと言うと、専門書と言うよりはマニュアル本(或いはもっと極端に規格書)だと思うぞ。
うんにゃ、電話帳よ。
ドット絵とドローツールとか
基底クラスAの派生クラスB, Cがある。
派生クラスのオブジェクトを基底クラスAのリストに入れて取り扱う
class A {
};
class B: public A{
};
class C: public A{
};
void func()
{
list<A*> vec;
vec.push_back(new C);
vec.push_back(new B);
}
これをポインタ無しでかけるのか?
ポインタ不要論を唱える意味がわからん。
JavaやC#でも同様の記述はできる。それも難解なテクニック要らず楽勝で。
参照という、ポインタに非常によく似た、というかそれを覆う概念ですがね。
ポインタよりも遥かに安全。
>>155 C++でどうやるんだと聞いている。
JAVA, C#以前にC++が出た頃からポインタ不要論ってのはあるんだよ。
ポインタ不要論を唱えている奴の意味がわからん。
ポインタ不要論を唱えてた奴等が Java とか C# とか作ったんじゃないのか?
158 :
デフォルトの名無しさん:2008/02/14(木) 03:26:02
C→C++やってるとポインタの知識は必要不可欠。
javaはポインタが無いから始め混乱したよ
違う環境、違う言語から移植する時にウンザリする位かな。
実際、最初からC/C++でアプリ作っててポインタの扱いに困る状況ってあまり無いじゃん。
"ポインタ=怖い"のイメージばかり先行してる気がする
>>159 pointer arithmetic しだすと結構わかりにくいコードになりやすい
と思うけど。10年位前に自分で書いたコード見ると結構難しかったりする。
そのころは結構ポインタ結構気に入ってたからな…
最近あまり pointer 振り回さないけど。あと、C++ だと iterator
を使うこと多い。これの方が安全かな。C の時代より pointer 使うこと
全然減った。
今時ファームとかじゃなきゃ直でポインタ操作なんてしない罠
フレームワーク使ってたらクラス実体の位置ぐらいの意味しかない
ポインタ不要論者って、Cのあれが不要って言っているだけで、
Java/C#のように、制限的にして使うのは認めているの?
生ポインタの駄目な点
・長さがわからない
・配列かどうかもわからない
・C++ならキャストしただけでアドレスが変わる
・ポインタのポインタを使わないと共有オブジェクトのNULLチェックが…
生ポインタの利点
・インターフェースを使える
修正、追加よろ
寿司食いたいフフフフフフフフフフフフフフフフフフフフフフフフ
>>163 > インターフェースを使える
どういうこと?
166 :
デフォルトの名無しさん:2008/06/02(月) 03:43:04
167 :
デフォルトの名無しさん:2008/06/02(月) 18:31:48
>>162 そういうレベルじゃなくて、ポインタが理解できないんだよ(涙
169 :
デフォルトの名無しさん:2008/06/02(月) 18:59:36
構造化アセンブラだとおもえ!
170 :
デフォルトの名無しさん:2008/06/02(月) 19:04:05
>>163 生ポインタ・・・ハァハァ、フェラチオみたいでそそる
171 :
デフォルトの名無しさん:2008/06/04(水) 16:37:21
**になると辛すぎ(涙
ポインタ無いとニンテンドーDSの開発できねぇ
C++ならstatic_castがあるから、あまりポインタこわくないんだがCだと危険なキャストしかないからなぁ…
Cでのポインタの利用は少し自信が無い
DWORD AddressOfNameOrdinals
にWORD*でアクセスすると正常に動作するのにDWORD*だと動かないばかりかDependency Walkerに突っ込むとBSOD
なんなんだよ
WORD*でアクセスって何だよ
つーか、何でDWORDに対してDWORD *でアクセスすんのよ?
178 :
デフォルトの名無しさん:2008/06/06(金) 13:49:58
DWORD * をインクリメントして、どうこうって操作なんて、実際やらんよなぁ
ドトネトの仕事ばっかりしてたら、ポインタ宣言の仕方忘れた。
void (*signal(int signum, void (*handler)(int)))(int);
うをりやー
void signal(int signum, void handler[1](int))[1](int);
ほら、簡単でしょう?
void signal(int signum, void handler[*](int))[*](int);
なんか、こういう記法を作ればいい気がしてきた。C[*]記法?
>>181 これじゃだめだったっけ?
void signal(int signum, void handler[](int))[](int);
ポインタ返しとかを考えると、もうなんか
char stepscan[](...)
char stepscan(...)[*]
stepscan(...)[*] : char
こうしなきゃダメなんだろうかとか思ってしまう
今時4GBくらいメモリ積んでることも余裕なので、一般的な32ビットCPUの全空間丸ごとアクセス可能な状態。
ということは別にNULLだろうがオンメモリなんだぜ。
というか、まあアドレス0000にRAMがあるようなシステムだと、NULL==(void*)0と定義してしまって、NULLを特別扱いすると、
RAMの使用範囲が狭まってしまうな。
そこは仮想メモリでアドレス空間を好きに動かせばいい。
ストラックポインタ最高!
ポインタは死にません。終了。
ポインタは死んだ
ヽ( `ω´)ノ死にません!
ポインタは死んだ。ヌルポ(笑)
194 :
デフォルトの名無しさん:2008/06/15(日) 07:52:10
それよりargがアホ
195 :
デフォルトの名無しさん:2008/06/15(日) 08:34:22
ポインタテラ便利
Objective-Cやったらわかる。
ポインタは乳首
生きる
「ハッカーズ大辞典」にcharの読みはチャーって書いてあった希ガス。
この感じ、charか!
200
201 :
亀レス:2009/03/12(木) 19:25:33
>>15 どのあたりがミスリードなのか馬鹿な俺にはわからなかった
要は、>15は件のサイトでK&R批判をしている点を論ってミスリードだと言い張りたいのだろう。
逆に私は、K&Rだけでなく件のサイトも含めて情報を妄信するのではなく正しく判断するようにする
切っ掛けになるという点で件のサイトは評価したいと思う。
つまり、>201がミスリードだと思わなかったのだとしたらそれは正しい読み方をしていると言うことではないだろうか。
参照渡しを ちゃんと理解できてるのに、
ポインタが分からない人をよく見かけるんだけど、
なんでだろう、メモリアドレスの概念が入るからイカンのかなぁ
Cの記法の問題だと思う
あるある
Cは、アセンブラマスターが楽するためのスクリプトだからなぁ
ちょw
210 :
デフォルトの名無しさん:2009/09/21(月) 22:18:35
ポインタでわかりにくいのは定義の書き方。
使い方に関してはそんなに難しくはない。
C言語の関数ポインタの書式死ねよ
なら同意する
封建制度?資本主義?新自由主義?社会主義?共産主義?
何それ?食うたら美味いん?(・∀・)
生命を保有する者(動物。植物)のルールは
「弱肉強食による適者生存」この一本だけや!よう覚えとけ!
>>210 使い方にそれは依るな。昔は結構ポインタ操作(pointer arithmetic等)
を使う傾向があったけど、かなり間違いやすいし、読みにくくなりやすい。
>>163 入出力をメモリーにマッピング出来る点。
組み込みを始めドライバ関係には必須やね。
char (*const VIDEO)[3]=(char(*)[3])0x1000;
VIDEO[n][0}=0xFF;
VIDEO[n][1}=0xFF;
VIDEO[n][2}=0xFF;
>入出力をメモリーにマッピング
するのはハードウェアであって、その状況下で
ポインタが使用できるに過ぎない。
あと、メモリマップドI/Oのときは volatile 付けとけ。
216 :
デフォルトの名無しさん:2009/09/24(木) 12:57:55
ポインタのっっっ
ポインタのっっっ
ポインタのっっっ
ポインタのっっっ
ポインタのっっっポインタの・・・ッッッ!!!!
void unk(&*************kuso){formatC:}
ポインタがキライなのでC#を
勉強しはじめたんだが、
だめかな?
218 :
デフォルトの名無しさん:2009/09/24(木) 19:31:13
>>271 別に。いずれにせよ基本的なデータ構造を勉強するようになったらポインタや参照を勉強することになるよん。
このスレらしく最後に。ポインタ超新星爆発しろ。
>>217 ポインタが嫌いなんじゃなくて、
ポインタが指す先に実体があるかどうかもわからない C/C++ が
嫌いなんだろ?
221 :
デフォルトの名無しさん:2009/09/26(土) 00:34:43
222 :
デフォルトの名無しさん:2009/09/26(土) 02:39:26
thisポインタってなんなのさ?
詳しくよろ
ググることも出来ないのに、よくプログラミングやろうと思えるね
224 :
デフォルトの名無しさん:2009/09/26(土) 08:31:17
ポインタ完全制覇、わかりやすかったけど、もっと要点しぼってー。
>>222 オブジェクトの概念から説明しないとめんどくせえから教えない。
ポインタもオブジェクト指向も馬鹿を見分けるための単語だったなあ
227 :
デフォルトの名無しさん:2009/09/26(土) 19:09:58
ゲームプログラムをやりたいけど、
ポインタが分からない。
Javaで組もうかな
228 :
デフォルトの名無しさん:2009/09/26(土) 19:13:03
229 :
デフォルトの名無しさん:2009/09/26(土) 23:11:32
・・・
もっと詳しくよろ
230 :
デフォルトの名無しさん:2009/09/27(日) 00:52:01
thisポインタってなんでthisなの?
C#がクラスと構造体の両方をサポートしたのは失敗だったな。
Listから値を取り出して、obj.value = newValue とした時に
元のリストが更新されているか否かの誤解が酷い。
いっそstruct自体をunmanageにしちゃえばよかったんだ。
>>231 クラスと構造体に実質的に何の違いがあるんだ?
むしろエイリアス表現だとしか思えない。
C#の話しだろ
値型がないと効率悪い時がままあるんだよ
>>222 演算の必要も無いのに何でポインタなんだといいたいんだろコレ。
this実装当時参照が無かったからだよ。それの名残り。
配列アクセスも出来なくはないが危険なだけでポインタである意味は無い、
>156
C++でって条件が後からついたようにも見えるが。
まあ、どうしてもやりたければBOOSTの類でなんとかできるんじゃね?
何年前のレスだよ