범위를 C로 지정할 수 있습니까?C에서 범위를 지정하는 방법은 무엇입니까?
int x = 5;
void setX(int x) {
(this, self, etc).x = x;
}
가 나는 객체가 아니기 때문에 C에서 this
또는 self
이있을 수 없음을 알고있다. 이 일을 할 수있는 방법이 있습니까?
struct state {
int x;
}
void setX(struct state *ctx, int x) {
ctx->x = x;
}
/* later ... */
struct state ctx;
setX(&ctx, 5);
편집 : 난 그냥 실현 당신이 아니라 원하는
는
'this' 또는 'self'는 범위에 영향을 미치지 않습니다. C에서의 동등 물은'struct' 객체이며 * members *도 있습니다 (예를 들어'.x'는 * member *를 나타내고 x는 * variable *를 나타냅니다). 범위는 특정 구문 구문을 통해 제어됩니다. 거의 모든 곳의 중괄호 ('{}) '가 발생합니다. –