セクション 2. 章 1
single
ポインタの概要
メニューを表示するにはスワイプしてください
間接参照演算子
ポインタは、他のオブジェクトのアドレスを格納する変数。
間接参照演算子「*」は、そのアドレスに格納されている値を返す。
ポインタの宣言と初期化の例:
int* pName = NULL;
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
12345678#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }
ポインタ型の変数は、& 演算子によって返されるアドレスを格納するために使用されます。
int variable;
int* pVariable;
pVariable = &variable;
指定したアドレスの内容を展開するには、ポインタ型変数に対して * 演算子を使用する必要があります。
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関数内では、
- **間接参照演算子(
*)**を使ってメモリに格納されている現在の値にアクセスします。例えば、*priceは100.0を指します。 - 現在の価格に対するパーセンテージを計算します。
*price * percentIncrease / 100.0(100.0の10%なら10.0)。 - このパーセンテージ分を元の値に加えて、更新後の価格を求めます。
*price = *price + (percentage part)。 - 関数は何も返しません。ポインタを通じて値を直接変更します。
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 1
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください