#include <stdio.h>
#include <stdlib.h>
#define MAX 10
void main()
{
int *ptr, *arr[MAX];
int i, j;
for (i=MAX-1; i>=0; i--)
if (arr[i]=(int*)malloc(i*sizeof(int))) // <= that line!
for (j=0; j<i; j++)
*(*(arr+i)+j) = j*i;
ptr = *(arr+MAX-1);
while (*ptr)
printf ("%d ", *ptr--);
}
Я не понимаю, что цель этой команды:Какова цель этого раздела кода?
arr[i]=(int*)malloc(i*sizeof(int))
Я знаю, что это таНос динамическое распределение. Но что имеется в виду при arr [i], он дает sizeof * i? Спасибо.
Эмм, я полагаю, вы пытались подчеркнуть оператор if в коде? (используя ** **) Вы можете удалить это. Редактировать: Спасибо @NiklasB – Bart
Yikes! Вы понимаете, что у вас есть один оператор, охватывающий 6 строк (2 из них пустые) вашего кода? Я предлагаю вам разбить это утверждение на более мелкие высказывания. – pmg
http://en.wikipedia.org/wiki/Triangular_matrix –