I 런타임에서 결정된 길이를 갖는 배열이 일반적으로 어레이를 선언함으로써 가능하다는 것을 알고 char buf[len];
하고 난 화합물 litral으로 배열을 선언하고 포인터의 중간에 할당 할 수 있음을 알고 char *buf;
....
buf = (char[5]) {0};
그러나 두 가지를 결합해도 작동하지 않습니다 (표준에서는 허용되지 않습
다음 코드는 두 가지 기능을 썼습니다. 두 가지 모두 동일한 출력을 생성하기위한 것입니다. 그러나 루프가있는 함수 g()은 아래에 표시된 것으로 예상했던 것과 다른 출력을 생성합니다. #include <stdio.h>
struct S { int i; };
void f(void)
{
struct S *p;
int i = 0;
CGRectMake 및 CGPointMake와 같은 기능이 존재하며 널리 사용되는 이유가 궁금합니다. 때, 대신, 당신은 할 수 있습니다 : (CGRect){{x, y}, {width, height}}
을 확실이 더 효율적입니다 어떤 함수 호출이 없으므로 (I 훨씬 의해하지 같은데요하지만)? (CGRect){origin, size}
및 이들의 혼합물