C语言中的结构体变量操作


这里我们将了解哪些类型的操作可以针对结构体变量执行。这里,基本上可以对结构体执行一项操作。该操作是赋值操作。栈中没有其他一些操作,如相等性检查或其他操作。

示例

#include <stdio.h>
typedef struct { //define a structure for complex objects
   int real, imag;
}complex;
void displayComplex(complex c){
   printf("(%d + %di)\n", c.real, c.imag);
}
main() {
   complex c1 = {5, 2};
   complex c2 = {8, 6};
   printf("Complex numbers are:\n");
   displayComplex(c1);
   displayComplex(c2);
}

输出

Complex numbers are:
(5 + 2i)
(8 + 6i)

由于我们已经为结构体赋予了一些值,因此这工作得很好。现在,如果我们想要比较两个结构体对象,让我们看看区别。

示例

#include <stdio.h>
typedef struct { //define a structure for complex objects
   int real, imag;
}complex;
void displayComplex(complex c){
   printf("(%d + %di)\n", c.real, c.imag);
}
main() {
   complex c1 = {5, 2};
   complex c2 = c1;
   printf("Complex numbers are:\n");
   displayComplex(c1);
   displayComplex(c2);
   if(c1 == c2){
      printf("Complex numbers are same.");
   } else {
      printf("Complex numbers are not same.");
   }
}

输出

[Error] invalid operands to binary == (have 'complex' and 'complex')

更新时间:2019 年 7 月 30 日

1K+ 浏览

开启你的职业

通过完成课程获得认证

开始
广告