2016-05-18 3 views
-8

У меня есть вопрос, могу ли я это сделать? Храните переменные в одном массиве.Возможно ли это? Массив в C

int var1 = 20; 
int var2 = 200; 
int var20 = 100; 

int array[3] = { var1, var2, var20 }; 

return 0; 
+2

У вас есть * ответ *? Какие? – EOF

+2

Вопрос, я думаю? Попробуй. –

+0

Возможно, вам захочется узнать больше о указателях. Возьмите несколько дней, чтобы прочитать хорошую книгу программирования C. –

ответ

6

Это зависит от того, где у вас есть код.

Если в качестве глобальных переменных, таких как:

#include <stdio.h> 
int var1 = 20; 
int var2 = 200; 
int var20 = 100; 

int array[3] = { var1, var2, var20 }; 

int main(void) { 

    return 0; 
} 

это незаконно, потому что инициализатор не является постоянным.

Если вы поместите его в функцию, как:

#include <stdio.h> 

int main(void) { 
    int var1 = 20; 
    int var2 = 200; 
    int var20 = 100; 

    int array[3] = { var1, var2, var20 }; 

    return 0; 
} 

это правильный код.

Если вы хотите, вы также можете построить массив из аргументов, переданных функции. Нравится:

#include <stdio.h> 

void someFunc(int var1, int var2, int var3) 
{ 
    int array[3] = { var1, var2, var3 }; 
    for (int i=0; i < 3; ++i) 
    { 
     printf("%d\n", array[i]); 
    } 
} 

int main(void) { 
    int var1 = 20; 
    int var2 = 200; 
    int var20 = 100; 

    someFunc(var1, var2, var20); 

    return 0; return 0; 
} 
Смежные вопросы