binary operations on structs C

#include <stdio.h>

// Define a struct named Point with two integer fields x and y
struct Point {
    int x;
    int y;
};

int main() {
    // Declare two Point structs
    struct Point p1, p2;

    // Initialize the x and y fields of p1
    p1.x = 10;
    p1.y = 20;

    // Perform binary operations on the fields of p1
    p2.x = p1.x << 1;   // Left shift the value of p1.x by 1 bit
    p2.y = p1.y >> 1;   // Right shift the value of p1.y by 1 bit

    // Display the results
    printf("Original Point: (%d, %d)\n", p1.x, p1.y);
    printf("Modified Point: (%d, %d)\n", p2.x, p2.y);

    return 0;
}