пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

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

Инициализация переменных

При объявлении переменной она может быть инициализирована. Для этого нужно после ее объявления поставить знак равенства и константу, т.е. общая форма инициализации имеет следующий вид:

тип имя_переменной = константа;

Приведем несколько примеров инициализации переменных:

char ch = 'a';

int first = 0;

double balance = 123.23;

Глобальные и статические локальные переменные инициализируются только один раз в начале работы программы. А локальные переменные (исключая статические локальные) инициализируются каждый раз при входе в блок, в котором они объявлены. Неинициализированные локальные переменные до первого присвоения имеют произвольное значение. Неинициализированные глобальные и статические локальные переменные в начале работы программы автоматически обнуляются.

Урок 54: Инициализация массивов в Си. Задача сортировки массивов. 
(автор Климант Юрий Викторович.)



1. Цель урока. 

    Цель урока: научиться выполнять инициализацию массивов в Си. 

2. Что мы должны понимать под инициализацией массивов в Си. 

    Инициализация массивов - это умение присваивать элементам массива некоторые начальные значения. В Си для этих целей предусмотрены некоторые специальные возможности. Самый простой спосб инициализации состоит в том, что при объвлении массива в фигурных скобках указывается список конкретных значений элементов массива. Их, то есть конкретные значения элементов массива, называют инициализаторами. 
 

             

 

Инициализация структуры в си ( c struct )

   Cтруктуры в си

Структуры в си ( c ) - это объединенные данные, у которых есть некоторая логическая взаимосвязь. В отличие от массивов, структуры могут содержать данные разных типов. Вот пару примеров структур в си ( c ): структура класс (имя учащегося, буква класса, средний балл); структура футбольная команда (тренер, название команды, место в турнирной таблице). Т.е. структуру вы будете использовать довольно часто. Теперь давайте рассмотрим, как описываются структуры в си:

struct klass {
   char name[20];
   char klass_name;
   float bal; 
};

   struct

Любая структура в языке си ( c ) должна начинаться с ключевого слова - struct, которое сообщает компилятору, что тут у нас будет структура. Все данные в структуре (struct) пишутся в фигурных скобках, и в конце ставится запятая с точкой (;). Советую сразу ставить запятую с точкой, что бы не было ошибок. 

Как вы видите, в структуре (struct) у нас находятся данные различных типов, но они объединены в логическую связь, так как в моем примере они являются определенным школьным классом. Данные в структуре должны иметь уникальные имена, но в различных структурах можно использовать одинаковые названия.

Структура, которая создана выше не занимает в памяти компьютера места, так как мы, на самом деле, просто создали свой тип данных. Объявление структуры ни чем не отличается от объявления любого типа данных в языке си ( c ). Вот пример:

struct klass a, b[5], *c;

Мы объявили переменную а типа struct klass, массив b, состоящий из 5 элементов типа struct klass и указатель на переменную struct klass.

Так же можно объявлять переменные сразу после объявления структуры:

struct klass {
   char name[20];
   char klass_name;
   float bal; 
} a, b[5], *c;

А какие же операции можно проделывать со структурами? Ответ на этот вопрос лучше перечислить по пунктам:

  1. присваивание полю структуры значение того же типа
  2. можно получить адрес структуры. Не забываем операцию взятия адреса (&)
  3. можно обращаться к любому полю структуры
  4. для того, что бы определить размер структуры можно использовать операцию sizeof()

   Инициализация структуры

Инициализация структуры в языке си ( c ) происходит так же, как и при инициализации массива. Вот пример инициализации структуры:

struct klass a = {"Sergey", 'B', 4.5 };

Т.е. мы создаем переменную типа struct klass и присваиваем всем трем полям, которые у нас определенны в структуре, значения. Порядок очень важен при инициализации структуры, так как компьютер сам не может отсортировывать данные. Если какое-либо поле у вас будет не заполненным, то оно автоматом заполнится 0 - для целочисленных типов; NULL - для указателей; \0 (ноль-терминатор) - для строковых типов.


27.12.2014; 11:49
хиты: 211
рейтинг:0
Точные науки
информатика
Языки программирования
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2025. All Rights Reserved. помощь