機能からC言語の勉強をはじめました。
ポインターに関して分からないところがあるので教えてください。
下記のコードをためすと
#include <stdio.h> void setTen(int *a){ *a=100000; } int main(void){ int a=230; setTen(&a); printf("%d\n",a); return 0; }
結果としては
100000
が出力されると思うのですが、いまいち理解できません。
・int a=230
は適当にaという変数に230を設定
・setTen(&a)
はaのアドレスを引数?として関数呼び出し
・printf("%d\n",a)
はaを単純に表示させるだけ
という以上の認識で正しいですか?
いまいち理解できないのは、aはaという場所にある値を出力しているのだと思うのですが
setTenという関数の中ではaというポインタしか定義していないのに
なぜaを出力すると*aの100000が出力されるのでしょうか。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。