Hmm..

malloc yang pertama itu alokasi untuk array-nya.

sedangnya malloc yang kedua (la[i] = (int *) malloc, adalah untuk
alokasi memory untuk elemennya.


pinguin wrote:
> Dear kawan,
> Saya ingin memantapkan pemahaman ttg C,dan sekarang ingin memahami
> program di bawah ini:
> 
> void  create_matrix( int ***mat, int m, int n){
>  int **la = NULL;
>  int i;
> 
>  la = (int**)malloc(m*sizeof(int*));
>  for ( i=0; i <m; i++ )
>     la[i] = (int *)malloc(n*sizeof(int));
>  *mat = la;
>  return;
> }
> 
> Fungsi utamanya:
> int **b,......
> .......
> create_matrix( &a, m1, n1 );
> ........
> 
> yang mau saya tanyakan:
> (1):
> Apa perbedaan antara
> la = (int**)malloc(m*sizeof(int*))
> dengan
> la[i] = (int *)malloc(n*sizeof(int)) ?
> la-nya dua-duanya sama berupa multiple indirection, tapi kok beda di
> (int**)malloc.... dengan (int*)malloc, kemudian juga knapa la diakses
> harus 2 kali, dengan la saja kmudian la[i].
> 
> (2):
> Apakah para programmer selalu menggunakan pointer 2 kali (misal **a)
> untuk menyimpan array 2D dan pointer 1x (misal *b) untuk menyimpan
> array 1D?
> 
> Btw, saya rencananya mau beli buku introduction to gcc :
> http://www.network-theory.co.uk/docs/gccintro/
> bukunya bagus nggak ya?
> 
> Terima kasih banyak atas bantuannya.
> 


-- 
Rachman Chavik
email: [EMAIL PROTECTED]
email: [EMAIL PROTECTED]
email: [EMAIL PROTECTED]
www: http://www.chavik.com

-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis

Kirim email ke