То, что я считал статическим указателем, как и другие статические переменные, которые инициализируются значением, которое имеет одно и то же значение до конца, подобно тому, что тот же адрес будет храниться в статическом указателе. Но в этом случае компилятор выбрасывает ошибкуСтатический указатель, инициализатор не является постоянным?
//initialiser element is not constant static int *a = &b[0];
#include <stdio.h>
int main(void)
{
int b[2];
static int *a = &b[0]; // removing static the program works well.
printf("%u",a);
a = &b[1];
printf("%u",a);
return 0;
}
Так что же такое использование статического указателя?
Предполагается, что это C или C++? Они разные языки, выберите ** один **! – Olaf
@Olaf: Этот вопрос интересен с набором тегов C и C++: ответ очень отличается. – Bathsheba
@ Батшеба: Вот почему он должен иметь только один язык! В противном случае это было бы слишком широко. Но его можно задать дважды, один раз для каждого языка. – Olaf