C语言中的联合与内存管理
一、图像旋转代码分析
首先来看一段图像旋转的代码。代码中通过嵌套循环遍历图像的每个像素点,并打印出其RGB值。然后调用 rotate_right_90 函数将图像向右旋转90度,再次打印旋转后的图像像素值。
for(i = 0; i < ROWS; i++)
{
for(j = 0; j < COLS; j++)
{
printf("(%3d,%3d,%3d) ", img[i][j].red, img[i][j].green, img[i][j].blue);
}
printf("\n");
}
rotate_right_90(img, tmp);
printf("\n*** Rotated Image ***\n\n");
for(i = 0; i < COLS; i++)
{
for(j = 0; j < ROWS; j++)
{
printf("(%3d,%3d,%3d) ", tmp[i][j].red, tmp[i][j].green, tmp[i][j].blue);
}
printf("\n");
}
void rotate_right_90(struct pixel img[][COLS], struct pixel tmp[][ROWS])
{
int i, j, k = 0;
for(i = ROWS-1; i >= 0; i--)
{
for(j = 0; j < COLS; j++)
超级会员免费看
订阅专栏 解锁全文
1908

被折叠的 条评论
为什么被折叠?



