質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

8回答

5739閲覧

ポインタが難しいといいますが何が難しいのでしょうか?

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/07/21 10:56

自分が楽勝に理解できたので何が難しいかわかりません。
数あるプログラミングの概念の中でなんでポインタだけこんなこと言われてるんですかね。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2018/07/21 12:20

あなたの理解できている事の内容を示した質問にして下さい。
sazi

2018/07/21 12:25

ポイントとなる点を挙げれないようでは理解しているとは言えません。
guest

回答8

0

ポインタの仕組みを理解するのは難しくありません。ポインタのポインタのポインタにメモリを割り当ててメモリリークやバッファオーバーランを起こさず完璧に運用するのが難しいのです。

会社経営は難しくありません。
成功するのが難しいのです。

漫画を描くのは難しくありません。
コミックスを売って生活するのが難しいのです。

C++ で何か有用な物を作ってから言ってください。

投稿2018/07/21 11:11

Zuishin

総合スコア28669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/07/21 11:12

それ!
退会済みユーザー

退会済みユーザー

2018/07/21 11:18

いや、ポインタを理解するのが難しいみたいなこと言われてないですかね?
Zuishin

2018/07/21 11:19

ポインタはアドレスを指すものです。 それだけですが、どこが難しいのですか?
退会済みユーザー

退会済みユーザー

2018/07/21 11:20 編集

それが(どこが難しいか)わからないから質問してるんですけど日本語もできないんですか?
退会済みユーザー

退会済みユーザー

2018/07/21 11:21

いや、和尚、faoは何にも難しいと思ってないので、「どこが難しい?」ってfaoに問いただしてもダメだ。
Zuishin

2018/07/21 11:22

言い方を変えましょう。 ポインタが何かということを理解するのは難しくありません。難しいとどこで聞いたのですか?
退会済みユーザー

退会済みユーザー

2018/07/21 11:23

いや和尚、それは色んなとこで書かれてる。
退会済みユーザー

退会済みユーザー

2018/07/21 11:30

言い方じゃなくて言ってること変わってますよ。
Zuishin

2018/07/21 11:36

通じなかったので。
退会済みユーザー

退会済みユーザー

2018/07/21 11:36

これはfaoの言い分が正しい。
Zuishin

2018/07/21 11:37

ところで、ポインタについて本当に理解していますか? 理解していないのなら前提が崩れますが。
Zuishin

2018/07/21 11:38

なぜなら、簡単だというのは理解している人だけが言えることだからです。
退会済みユーザー

退会済みユーザー

2018/07/21 11:43

和尚、そうでもないっす。「簡単だ」という言葉は本人が「分かった」と思った瞬間に出る言葉で、そこに客観的な視点は存在しないっす。
Zuishin

2018/07/21 11:45

それは分かったとは言いません。 分かった気がしたというだけです。
退会済みユーザー

退会済みユーザー

2018/07/21 11:47

そうですよ。ですが、「分かった」と言い張ることに誰の許可も、免許も必要はありません。
Zuishin

2018/07/21 11:48

言い張るだけならこの質問の前提が崩れます。
退会済みユーザー

退会済みユーザー

2018/07/21 11:48

そして、「分かった」と自分で思うことが更に前にすすむ力にもなるのが人間です。 「やっぱり分かってなかった」は、あとで思い知っても良い。
退会済みユーザー

退会済みユーザー

2018/07/21 11:49

質問に「確か」な前提があるとお考えですか?
Zuishin

2018/07/21 11:52

何が難しいのか知りたいというのがこの質問です。 わかっているかどうかで答が変わるのではありませんか?
退会済みユーザー

退会済みユーザー

2018/07/21 11:56

変わらないと思います。 ポインタの難しさはポインタの性質そのものというより、 それがラッピングされた場合に、脳がどこまで処理を追えるか次第なので。 基本、ポインタは、簡単です。
Zuishin

2018/07/21 11:58

彼が理解できていなければ、彼にとっては難しいということになるでしょう。 そうすれば、どこが難しかったのかを知る手がかりができます。
退会済みユーザー

退会済みユーザー

2018/07/21 12:01

そうしたら、彼がどんな用途でどんなレヴェルでC/C++を書いているのか聞く必要がでます。 それはQAサイトではなく、もはや、コンサルですね。
退会済みユーザー

退会済みユーザー

2018/07/21 12:01

ですから、「確かにポインタなんて簡単だよー。ただ、仕事で使うなら覚悟が必要だけどね」が、 適切な回答かと。
退会済みユーザー

退会済みユーザー

2018/07/21 12:03

少なくとも、現在faoが仕事でC++を使っているとは、到底思えません。
guest

0

前にも言いましたが、faoは答えがわかってることを歯に衣を着せて質問するのはやめなさい。

今回の場合、素直に「ポインタすら理解できないサルは生きてる価値きのこ?」と、スレッドを立てるべきです。

投稿2018/07/21 11:00

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/07/21 11:16

サルに生まれてしまったら努力じゃどうしようもないですから私はそういう人達には寛容でいたいですよ。 ただ分からない人は何が分からないのか疑問に思っただけなので。
退会済みユーザー

退会済みユーザー

2018/07/21 11:19

そういうことですか。 それは脳の能力として、「抽象」が理解できるかによるからです。
退会済みユーザー

退会済みユーザー

2018/07/21 11:24

ちょっと、先日5chであったことを話しますね。
退会済みユーザー

退会済みユーザー

2018/07/21 11:31

ある人が、「わたしは、何をするか?ではなく、誰とするか?を重視しています」という日本語の英訳で「Who do you want?」としていました。 それが話題になってluckerお兄さんが、「お前ら笑ってるけど、お前らはちゃんと英訳できるの?」と聞きました。 すると、ある者が「With who we do it.」などと言い始めたのです。しかもそれは、ネット検索して出てきた英語教則のページから部分的に引用したものでした。 それでluckerお兄さんは、「おい、そのwhoは関係代名詞のwhoだぞ」と指摘したのですが、そのサルは関係代名詞が何であるか全く理解していなかったので、「ネイティブの外人さんが言ってるんだ、間違ってるのはお前だ」と言い張って全く聞かなかったのです。 ポインタというのはまさしく、英語の関係代名詞であり、抽象概念です。 ですが、関係代名詞が全く理解できない人は沢山います。 それは、「脳力」なのです。
退会済みユーザー

退会済みユーザー

2018/07/21 14:02

そいつらは英文法が分かってないだけじゃないですか? 一つ目の英文はみない表現で変な意味になりそうだけど文法的にはあってますね。 二つ目は文法的におかしいけど意味は何となく推測できますね。 自分が理解できてないのにあってるだのあってないだの言えるのはなんなんでしょうね
退会済みユーザー

退会済みユーザー

2018/07/22 10:41

faoはそんな馬鹿な大人になってはいけませんよ。
guest

0

あまり大きな声では言えませんが、実はポインタは、馬鹿除けなのです。
馬鹿除けのハードルを越えたことは素晴らしいですが
はしゃいでQAサイトに書き込むようなことではありません。

投稿2018/07/21 13:57

tekka

総合スコア514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

初心者向けのCの本は、「変数は箱」みたいな説明をします。

初心者は素直なので、i=0;というコードは「iという箱に0を入れたんだな」と思うことでしょう。

さて、そんな本を読み進めて、ポインタが登場したとします。初心者はいろいろ疑問を抱くはずです。

  • 「ポインタも変数なので、箱を入れる箱? だとしたら同じ変数を指す複数のポインタを作れるのは変」
  • 「ポインタの値を表示したら、わけのわからない数字の羅列が出てくる」
  • 「ポインタに変数を代入するときは&を付ければ良いって書いてあるけど、&は何を意味しているの?」

ちょっと大げさに書いていますが、こんな感じで混乱すると思われます。

ポインタを簡単に理解できるのは、変数ってメモリ領域の識別子ですねということを理解している人です。

その辺の知識がなにもない人には、やっぱり難しいでしょう。

変数を箱のようなものに抽象化して、メモリのことは無視して考える理解が行き詰まるので難しい、ということです。yumetodoさんの回答に同意します。

もっとも、気の利いた本なら、ポインタの話に入る前に「変数は実際にはメモリ上にあって、メモリはアドレスで管理されていて~」という内容を書くと思うので、そういう本を読むとか、そういう教え方をしてくれる先生に学ぶとかすれば、理解できます。

「ポインタは訳がわからない」と言っている人は、いい本/いい先生に当たらなかったか、当たったけど教えてもらっている内容を理解していないか、のどちらかだと思います。

投稿2018/07/21 22:27

hayataka2049

総合スコア30935

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

数あるプログラミングの概念の中でなんでポインタだけこんなこと言われてるんですかね。

変数とは何かがわかっていなかったことが突きつけられるからでしょうね。

つまり難しいのはポインタではなく変数。

そして変数とは何かを理解できるかは先天性のものじゃないかという気がしています。

投稿2018/07/21 12:55

yumetodo

総合スコア5852

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/07/21 12:57

なので、関係代名詞…。いや、なんでもないです…。
guest

0

ポインタは別に、難しくないので疑問そのものが見当違いです。

投稿2018/07/21 10:57

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

メモリを理解すればポインタも理解できる。
現実のメモリを理解しようとすべきで参考書の変数は箱などの変な例えは気にするな。

投稿2018/07/22 21:23

編集2018/07/25 20:12
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2018/07/22 21:51

「ポインタの入口は理解できる」と訂正しましょう。
退会済みユーザー

退会済みユーザー

2018/07/25 20:10

入口とは?
guest

0

私もそんなに難しいとは思いませんが、

質問が多くて、解決しきれない人が多いようなので、
多分むつかしいんじゃないかと思います。

向き不向きも有るんじゃないでしょうか。

投稿2018/07/22 04:11

PingHermit

総合スコア478

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問