C: Является ли этот тип инициализации правильным? - PullRequest
3 голосов
/ 21 января 2010
int startingPoint[2]={i,j};

Я получил это после чтения онлайн-кода. Это правильно? Означает ли, что значения i и j могут быть изменены во время выполнения до этого оператора, будет ли инициализировать массив с правильными значениями? Пожалуйста, объясните.

Ответы [ 2 ]

8 голосов
/ 21 января 2010

Это работает в C99, но не в C89.

1 голос
/ 21 января 2010

int начальная точка [2] = {i, j};
Я получил это после прочтения онлайн кода. Это правильно?

Да, это правильный код C (будет работать на всех современных компиляторах C). Однако, он не будет работать на компиляторе C89.

Означает, что значения i и j могут быть изменены во время выполнения перед этим оператором, будет ли инициализировать массив с правильными значениями?

Да!

scanf("%d %d",i,j);
/* some code */

int abc[]={i,j};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...