Я немного смущен правилами относительно ограниченных указателей. Может быть, кто-то там может помочь мне.
-
Является ли законным определять вложенные ограниченные указатели следующим образом:
int* restrict a; int* restrict b; a = malloc(sizeof(int)); // b = a; <-- assignment here is illegal, needs to happen in child block // *b = rand(); while(1) { b = a; // Is this legal? Assuming 'b' is not modified outside the while() block *b = rand(); }
-
Можно ли получить ограниченное значение указателя следующим образом:
int* restrict c; int* restrict d; c = malloc(sizeof(int*)*101); d = c; for(int i = 0; i < 100; i++) { *d = i; d++; } c = d; // c is now set to the 101 element, is this legal assuming d isn't accessed? *c = rand();
Спасибо! Эндрю