2014-09-13 2 views
-9

누구든지 나를 설명 할 수 있을까요?이 코드가 의미하는 바는 무엇입니까?C 언어의 ** 의미는 무엇입니까?

int **d= (int**)malloc((m+1)*sizeof(int)); 

d와 (int)의 **은 무엇입니까? 그들은 포인터와 관련이 있습니까?

+10

예, 포인터와 관련이 있습니다. 이것은 C를 배우는 방법이 아닙니다. 교과서를 구하십시오. –

+2

'sizeof' 전에 *와 혼동하지 마십시오. 포인터와 아무런 관련이 없습니다. – Maroun

+6

'sizeof (int *)'또는 더 좋은 것은'sizeof (* d)'가 아니겠습니까? –

답변

3
int** d; //pointer to a pointer to an integer 
+0

그리고 malloc 호출 전 (int **)은 어떨까요? – tonix

+0

malloc 호출은 할당 된 주소에 대한 포인터를 반환합니다. 포인터를 정수로 포인터로 변환하면 해당 호출이 사용됩니다. 그것은 타입 캐스팅입니다. – Haris

+0

C에서는 캐스트가 중복되어 잠재적으로 위험하다는 점에 유의하십시오. 참조 : http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc –