Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Operations on struct variables in C

  • Difficulty Level : Easy
  • Last Updated : 16 Jan, 2019

In C, the only operation that can be applied to struct variables is assignment. Any other operation (e.g. equality check) is not allowed on struct variables.
For example, program 1 works without any error and program 2 fails in compilation.

Program 1

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.




#include <stdio.h>
  
struct Point {
  int x;
  int y;
};
  
int main()
{
  struct Point p1 = {10, 20};
  struct Point p2 = p1; // works: contents of p1 are copied to p2
  printf(" p2.x = %d, p2.y = %d", p2.x, p2.y);
  getchar();
  return 0;
}



Program 2




#include <stdio.h>
  
struct Point {
  int x;
  int y;
};
  
int main()
{
  struct Point p1 = {10, 20};
  struct Point p2 = p1; // works: contents of p1 are copied to p2
  if (p1 == p2)  // compiler error: cannot do equality check for         
                  // whole structures
  {
    printf("p1 and p2 are same ");
  }
  getchar();
  return 0;
}

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.




My Personal Notes arrow_drop_up