Я немного запутался в правилах, касающихся ограниченных указателей. Может быть, кто-нибудь сможет мне помочь.
Законно ли определять вложенные ограниченные указатели следующим образом:
int * restrict a;
int * ограничить b;
a = malloc (sizeof (int));
// b = a; <- присвоение здесь недопустимо, должно происходить в дочернем блоке
// * b = rand ();
пока (1)
{
б = а; // Это законно? Предполагая, что 'b' не изменяется вне блока while ()
* b = rand ();
}
Законно ли вывести значение ограниченного указателя следующим образом:
int * restrict c;
int * restrict d;
c = malloc (sizeof (int *) * 101);
d = c;
для (int я = 0; я <100; я ++)
{
* d = я;
d ++;
}
c = d; // c теперь установлен на 101 элемент, это допустимо при условии, что d не осуществляется?
* c = rand ();
Спасибо! Эндрю