Скажем, у меня есть функция, которая берет массив структур, определенных так:
void Foo(struct MyStruct *s, int count) {
for (int i = 0; i < count; ++i) {
// Do something with s[i]
}
}
Являются ли эти следующие два фрагмента гарантией одинакового поведения?
struct MyStruct s;
s.x = 0;
s.y = 0;
Foo(&s, 1);
против.
struct MyStruct s[1]; // stack-allocated array of size 1
s[0].x = 0;
s[0].y = 0;
Foo(s, 1);