[teknik]
(2) 

C Sorusu

usdeubb #99620
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.

 

"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.

wingless

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
1

mobil görünümden çık