|
Инициализация переменных, массивов, структур.28)Инициализация переменных, массивов, структур.
Объявление переменных и их инициализация
Тип <список переменных>;
|
int x,y,z;
float xx;
long double yy;
|
Тип <переменная>=константа;
|
int p=12;
char ch=’a’;
|
typedef определение типа идентификатор;
|
typedef char symbol;
|
#define имя макроса символы
(директива вводит макроопределение)
|
#define K 5
(K=5)
|
Инициализация массивов – это умение присваивать элементам массива некоторые начальные значения. В СИ для этих целей предусмотрены некоторые специальные возможности. Самый простой способ инициализации состоит в том, при объявлении массива в фигурных скобках указывается список конкретных значений элементов массива, называют инициализаторами.
Например: Одномерный массив семи вещественных чисел – инициализаторов: 1.1,2.2,3.3,4.4,5.5,6.6,7.7, обозначенный как float bonn[i](где i=0,…,6), можно инициализировать так: float boon[7]={1.1,2.2,3.3,4.4,5.5,6.6,7.7}; Это же самое можно записать , используя обычные операторы присвоения: boon[0]=1.1, boon[1]=2.2, boon[2]=3.3 , boon[3]=4.4, boon[4]=5.5, boon[5]=6.6, boon[6]=7.7.
Этими способами вы можете задавать начальные значения элементам массива, иначе говоря, так можно вводить массив в память компьютера в СИ.
Инициализация структуры. Инициализация структуры в языке си ( c ) происходит так же, как и при инициализации массива. Вот пример инициализации структуры:
struct klass a = {"Sergey", 'B', 4.5 };
Т.е. мы создаем переменную типа struct klass и присваиваем всем трем полям, которые у нас определенны в структуре, значения. Порядок очень важен при инициализации структуры, так как компьютер сам не может отсортировывать данные. Если какое-либо поле у вас будет не заполненным, то оно автоматом заполнится 0 - для целочисленных типов; NULL - для указателей; \0 (ноль-терминатор) - для строковых типов.
|