Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ ポインタの概要 | ポインタと構造体の操作
C構造体
セクション 2.  1
single

single

ポインタの概要

メニューを表示するにはスワイプしてください

間接参照演算子

ポインタは、他のオブジェクトのアドレスを格納する変数。

間接参照演算子「*」は、そのアドレスに格納されている値を返す。

ポインタの宣言と初期化の例:

int* pName = NULL;
pName+画像
main.c

main.c

12345678
#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }

参照演算子 &

& 演算子はオブジェクトのアドレスを返します:

main.c

main.c

12345678
#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }

ポインタ型の変数は、& 演算子によって返されるアドレスを格納するために使用されます。

int variable;
int* pVariable;
pVariable = &variable;

指定したアドレスの内容を展開するには、ポインタ型変数に対して * 演算子を使用する必要があります。

main.c

main.c

12345678910
#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
タスク

スワイプしてコーディングを開始

特定の価格を持つ製品があり、その価値を指定されたパーセンテージだけ増加させる必要があります。 この課題では、ポインタを使って製品の価格を更新する関数を実装します。

updatePrice関数内では、

  1. **間接参照演算子(*)**を使ってメモリに格納されている現在の値にアクセスします。例えば、*price100.0を指します。
  2. 現在の価格に対するパーセンテージを計算します。*price * percentIncrease / 100.0(100.0の10%なら10.0)。
  3. このパーセンテージ分を元の値に加えて、更新後の価格を求めます。*price = *price + (percentage part)
  4. 関数は何も返しません。ポインタを通じて値を直接変更します。

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  1
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt