Евгений
4 год назад
В каких случаях переменной перед использованием присваивают значения ноль (0) или один (1)? Объясните почему.
ОТВЕТЫ
Adenauer Eleonora
Oct 24, 2020
(пишу про язык си/си++)
Зависит от ситуации.Например при создании динамического массива типа char он забивается абсолютно случайными значениями и для их перебора будет лучше присвоить всем элементам такого массива 0 как будто каждый элемент это конец строки (сделать это можно используя функцию memset()) После заполнить этот массив буквами (закинуть текст например при помощи std::cin.getline()) и тогда мы сможем перебрать этот массив циклом Пример: for (int i = 0; str[i] != 0;++i){...}
где str[] это динамический массив.Еще один случай.Иногда вместо простой инициализации переменной нам нужно присвоить ей любое значение (иначе может не скомпилироваться т.к. там будет лежать не понятно что).Так же и с единицей.
Зависит от ситуации.Например при создании динамического массива типа char он забивается абсолютно случайными значениями и для их перебора будет лучше присвоить всем элементам такого массива 0 как будто каждый элемент это конец строки (сделать это можно используя функцию memset()) После заполнить этот массив буквами (закинуть текст например при помощи std::cin.getline()) и тогда мы сможем перебрать этот массив циклом Пример: for (int i = 0; str[i] != 0;++i){...}
где str[] это динамический массив.Еще один случай.Иногда вместо простой инициализации переменной нам нужно присвоить ей любое значение (иначе может не скомпилироваться т.к. там будет лежать не понятно что).Так же и с единицей.
460
Смежные вопросы: