📜  在C中对结构变量进行运算

📅  最后修改于: 2021-05-25 21:26:02             🧑  作者: Mango

在C语言中,可以应用于结构变量的唯一操作是赋值。不允许对结构变量执行任何其他操作(例如,相等性检查)。
例如,程序1正常运行,而程序2编译失败。

程序1

#include 
  
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;
}

程序2

#include 
  
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;
}
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。