Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α19.3 · Ανάθεση με δομές

Διάλεξη 19, διαφάνειες 29–30 · Δυσκολία ★☆☆ · trace · Κεφάλαια: 19

Για να αντιγραφούν τα περιεχόμενα μιας δομής σε μια άλλη, χρησιμοποιούμε τον τελεστή ανάθεσης. Τι θα τυπώσει αυτό το πρόγραμμα;

#include <stdio.h>
struct point { int x;  int y; };
int main() {
  struct point pt1 = { 3, 4 };
  struct point pt2;
  printf("%d %d\n", pt2.x, pt2.y);
  pt2 = pt1;
  printf("%d %d\n", pt2.x, pt2.y);
  return 0;
}

Υπόδειξη

Εξετάστε χωριστά τα δύο printf: τι περιέχει το pt2 πριν από την ανάθεση, αφού δεν αρχικοποιήθηκε; Και τι αντιγράφει η ανάθεση ανάμεσα σε δύο δομές ίδιου τύπου;

Αριθμός στον οδηγό: Α19.3 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lec19-struct-assign · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec19-struct-assign.html · Markdown (GitHub)