-5
우리는 코드 조각 있다고 가정익명 구조체 포인터
int random_function random_variable
(
struct struct_name *
);
이 유효한 구문 있을까를? 그렇다면 포인터는 나중에 프로그램에서 어떻게 참조합니까?
우리는 코드 조각 있다고 가정익명 구조체 포인터
int random_function random_variable
(
struct struct_name *
);
이 유효한 구문 있을까를? 그렇다면 포인터는 나중에 프로그램에서 어떻게 참조합니까?
아니요, 샘플 코드가 유효한 구문이 아닙니다. 컴파일 시도는 그것을 보여줄 것입니다.
당신이 묻는 것처럼 보이는 부분에 다시 쓰는 것은 다음 예제입니다. "나중에 프로그램에서 (익명 구조체) 포인터를 어떻게 참조합니까?"
int random_function(int random_variable) {
// Supposed Anonymous Struct Pointer, but invalid syntax.
struct struct_name *;
}
당신이 익명 무엇 혼합되어 나타납니다. 당신의 예제는 당신이 구조체가 이름을 가지고 변수가 anonymous 인 것으로 생각하고 접근 할 수 없게 만들었다.
익명 구조체 포인터의 올바른 예는 다음
int random_function(int random_variable) {
struct /* no structure tag here */ {
int a;
int b;
} *variable_name;
variable_name = malloc(sizeof(variable_name));
variable_name->a = 1;
variable_name->a = 2;
return variable_name->a;
}
당신이 구조가 익명의 구조적인 어떠한 태그를가 없습니다 볼 수있을 것이다. variable_name
은 익명 구조체에 대한 포인터가됩니다. 변수는 일반적인 방법으로 액세스됩니다.