programing

구조에서 변수 이름 앞에 있는 점은 무엇을 의미합니까?

bestcode 2022. 8. 18. 23:33
반응형

구조에서 변수 이름 앞에 있는 점은 무엇을 의미합니까?

Linux 커널 소스를 살펴보니 다음과 같습니다.

static struct tty_operations serial_ops = {
  .open = tiny_open,
  .close = tiny_close,
  .write = tiny_write,
  .write_room = tiny_write_room,
  .set_termios = tiny_set_termios,
};

나는 C에서 그런 표기법을 본 적이 없다.변수 이름 앞에 점이 있는 이유는 무엇입니까?

이것은 Designated Initializer로 C99에 추가된 구문입니다.관련 발췌:

구조 이니셜라이저에서 요소 값 앞에 '.fieldname ='로 초기화할 필드 이름을 지정합니다.예를 들어, 다음과 같은 구조가 주어지면,

struct point { int x, y; }; 

다음 초기화

struct point p = { .y = yvalue, .x = xvalue }; 

와 동등하다

struct point p = { xvalue, yvalue };

이것은 「지정 초기화」라고 불리기도 합니다.이것은 C99에 추가된 것입니다만, 한동안 GNU 확장자였습니다.

목록, 피해자들의.이름들은 구조의 멤버를 초기화하는 데,로 지정 부호.

언급URL : https://stackoverflow.com/questions/7487918/what-does-a-dot-before-the-variable-name-in-struct-mean

반응형