Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Pointers to Structs | Working with Pointers and Structs
C Structs
セクション 2.  2
single

single

bookPointers to Structs

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

The C programming language allows you to create pointers not only to regular data types but also to structures (since a structure is a custom data type).

Declaration and initialization of a pointer looks like this:

struct <name_of_struct>
{
    <field_of_struct>;
};

struct <name_of_struct>* <name_of_pointer>;

If <name_of_pointer> is a pointer to a structure,
then *(<name_of_pointer>) is the structure itself.

To access the fields of a structure through a pointer, you must use the -> operator.

Note
Note

-> is an analogue of the structure access operator .

main.c

main.c

copy
12345678910111213141516171819202122
#include <stdio.h> // structure declaration struct Point { int x; int y; }; int main() { // create a structure variable of Point type struct Point p1; p1.x = 10; p1.y = 20; // create a pointer to a structure of type Point and assign it the address of variable p1 struct Point* ptr = &p1; // Access structure members via pointer by `->` operator printf("Coordinates: (%d, %d)\n", ptr->x, ptr->y); return 0; }

This program shows how to work with a Point structure that stores two coordinates, x and y. In the main function, a p1 variable is created and assigned coordinate values, then a pointer to this structure is initialized. Using the -> operator, the program accesses the structure's fields through the pointer and prints the point's coordinates to the screen.

タスク

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

You have a student with grades in 3 subjects: Math, Physics, and Programming.
Your task is to calculate the student's average grade and determine if they passed the course.

Inside the calculateAverageAndCheck function:

  1. Access each subject grade using the pointer.
  2. Add all three grades together to find the total score.
  3. Divide the total by 3.0 to calculate the average grade.
  4. Compare the result to the passing threshold of 60.
  5. If the average is greater than or equal to 60, return true (the student passed).
  6. Otherwise, return false (the student failed).

Example

MathPhysicsProgrammingAverageResult
85.055.060.066.67✅ Passed
50.040.045.045.00❌ Failed
60.060.060.060.00✅ Passed

解答

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

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

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

セクション 2.  2
single

single

AIに質問する

expand

AIに質問する

ChatGPT

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

some-alt