我正在尝试通过玩 Arduino Uno 来学习 C。我正在审查 code for the Colorduino library on github .我想知道 ++
在应用于结构时如何工作。
在 Colorduino.h 中定义了一个 PixelRGB
结构:
typedef struct pixelRGB {
unsigned char r;
unsigned char g;
unsigned char b;
} PixelRGB;
在Colorduino.cpp有一些代码将 ++
运算符应用于 PixelRGB
指针。这是如何工作的?
for (unsigned char y=0;y<ColorduinoScreenWidth;y++) {
for(unsigned char x=0;x<ColorduinoScreenHeight;x++) {
p->r = R;
p->g = G;
p->b = B;
p++;
}
}
最佳答案
请注意,此代码将 pointer 递增到 PixelRGB
,而不是结构本身。
因此,++
应用于指针时的结果只是将其值增加 sizeof(PixelRGB)
关于c - 加号 (++) 运算符应用于结构时的行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12127471/