[]
C Sorusu
int **matris;
matris = (int **)malloc( satir_sayisi * sizeof(int) );
merhaba. yukarıdaki kod parçasında (int **) kısmının ne olduğunu açıklayan olursa sevinirim. normalde malloc kullanımını biliyorum.
matris = (int **)malloc( satir_sayisi * sizeof(int) );
merhaba. yukarıdaki kod parçasında (int **) kısmının ne olduğunu açıklayan olursa sevinirim. normalde malloc kullanımını biliyorum.
"int * x" bir tamsayıyı işaret eden x adlı pointerdır.
"int ** x" bir tamsayıyı işaret eden pointerı işaret eden x adlı pointerdır.
yani burada tamsayı gösteren pointerlardan oluşan bir dizi oluşturmak amaçlanmış.
bu arada ikinci satırı "matris = (int **)malloc( satir_sayisi * sizeof(int*) );" olarak yazmak daha doğru olur diye düşünüyorum.
"int ** x" bir tamsayıyı işaret eden pointerı işaret eden x adlı pointerdır.
yani burada tamsayı gösteren pointerlardan oluşan bir dizi oluşturmak amaçlanmış.
bu arada ikinci satırı "matris = (int **)malloc( satir_sayisi * sizeof(int*) );" olarak yazmak daha doğru olur diye düşünüyorum.
- wingless (03.10.09 13:37:58)
baştaki (int**) pointer to integer tipinde bir çift boyutlu dizi tanımlıyor. malloctan sonraki kısım da bu dizinin içinde tutulacak olan integer sayısı kadar memory allocate ediyor.
- uckac (03.10.09 17:45:08)
1