0
함수를 호출 할 때 포인터를 사용하는 방법, 그내가이 structrure이 C로 프로그래밍을 몇 가지 문제가
typedef struct Hash_Funct{
char* name;
Var_Table * List_of_Variables; ///pointer to list of variables
} Hash_Funct;
같은 간다 그리고 코드의 특정 시점에, 나는과 구조를 inicialize하려면 :
Init_ID_Table(); Init_ID_Table()가 어떤 지금 사이즈 크기의 테이블에 가리키고 모든해야하는합니다 (* List_of_Variables 포인터에 영향을 줄 것으로 보인다 그것은 나던이 코드의 끝 부분에서,
void Init_ID_Table(Var_Table *table){
table = (Var_Table*) malloc (sizeof(Var_Table));
for(int i=0; i< SIZE;i++){
(*table)[i] = NULL;
}
}
그러나 :로 정의된다 그 요소는 NULL로 설정된다). 아무도 적어도 예상대로 작동하도록 변경하지 않을 경우 어떤 일이 벌어지고 있는지 말해 줄 수 있습니까?
는
[malloc을 캐스팅하지 않습니다 (https://stackoverflow.com/questions/605845/do-i-cast-the-result :
그런 다음 당신은이 방법을 부를 것이다 -of-malloc) – Barmar
C 언어는 상위 레벨 언어의 경우와 같이 매개 변수를 참조로 전달하지 않습니다. – tilz0R