c言語のポインタってなんなんだ?

プログラミングのプの字も知らない方必見!
ここに入って1から勉強してみませんか?

使用言語は問いません。
下はアセンブリ言語から上はJavaやCまでなんでもいきましょう。

もちろん、プログラミングに付随した数学(行列、ベクトル、三角関数、etc...)もOKです。

自分が分からない点は質問し、逆に答えられる点は答えてあげましょう。
学校の先生が優しくない、教え方が悪い、身近な所にプログラミングやってる人がいないなどなど、環境に恵まれない事が原因で挫折するのはもったいない!
自分の納得がいくまで質問攻めして、力を付けていきましょう!

玄人さんも大歓迎です。
是非とも迷える子羊に救いの手を。

トピックの作成は内容の重複がないようにお願いします。
お互いに敬意をはらった言動を心がけましょう。
返信
アバター
purin52002
記事: 235
登録日時: 2年前
連絡を取る:

c言語のポインタってなんなんだ?

#1

投稿記事 by purin52002 » 2年前

c言語のポインタの話をしませんか?

おそらくc言語最強の敵ですよね^^;
しかもよっぽどc言語に慣れてこないと便利さも対して感じないし、、、。

ポインタをしっかり理解している人はきっと少ないはず!
トピ主の私が全然理解できていない!

ということでc言語のポインタに関する話をどんどんしていきましょー。




、、、できれば、わかりやすいようにかみ砕いてお話しましょー^^;
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^

アバター
purin52002
記事: 235
登録日時: 2年前
連絡を取る:

Re: c言語のポインタってなんなんだ?

#2

投稿記事 by purin52002 » 2年前

とりあえずポインタ便利じゃんと思う場面

関数の出力を増やすことができる。

これじゃないですかね?

コード:


void Func(int *func_a, double *func_b, char *func_c)
{
    *func_a = 1 ;
    *func_b = 2.0 ;
    *func_c = '3' ;
}

int main()
{
    int main_a ;
    double main_b ;
    char main_c ;

    Func(&a, &b, &c ) ;
    
    printf("a=%d b=%lf c=%c\n" ,main_a, main_b, main_c ) ;
}
普通は1個しか値を返せない関数で、たくさんの出力をすることができる。
べんり^p^
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^

surach
記事: 21
登録日時: 2年前

Re: c言語のポインタってなんなんだ?

#3

投稿記事 by surach » 2年前

こんにちは、私もポインタ勉強したばかりの初心者なんですが、ポインタは変数の住所を保存すると書いてありました。
多分、住所を保存するなら関数を行き来できるということなんですね!素晴らしい^p^

アバター
purin52002
記事: 235
登録日時: 2年前
連絡を取る:

Re: c言語のポインタってなんなんだ?

#4

投稿記事 by purin52002 » 2年前

関数ポインタの話題が出たのでちょっとお話します。

まず、ポインタとはパソコンの中のデータが保存されている場所の住所(アドレス)を表すものです。

ところで、関数というものは処理をひとまとめにしたものです。
しかし、関数も「処理をひとまとめにしたデータ」としてパソコンに保存されるのです。

つまりポインタにぶち込めちゃうのです。ポインタしゅごい。

関数ポインタは以下のように使います。

コード:

void Func(int a, double b) ;

int main()
{
    void (*func_p)(int, double) = Func ; //func_p というポインタ変数にFuncを代入

    int var1;
    double var2;

    func_p(var1, var2 ) ; //Func(var1,var2)を呼び出す
}
関数ポインタの型は結構複雑なのでtypedefすると便利ってロベールさんが言ってました^p^
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^

surach
記事: 21
登録日時: 2年前

Re: c言語のポインタってなんなんだ?

#5

投稿記事 by surach » 2年前

ふーむ、便利なのはなんとなくわかりますがまだまだ使いこなせないですね・・・。
がんばります!

返信

“1から勉強してみないか?” へ戻る