Название: Нужно забить char нулями Отправлено: merke от Ноябрь 26, 2010, 06:06 Всем привет!
Нужно забить массив char[129] нулями Делаю так: for(int i=0;i<128;i++) char = '0'; char[128] = '\0'; Верно ли я делаю? Название: Re: Нужно забить char нулями Отправлено: Igors от Ноябрь 26, 2010, 06:24 memset(ch, 0, sizeof(ch));
Название: Re: Нужно забить char нулями Отправлено: merke от Ноябрь 26, 2010, 06:50 спасибо!
Название: Re: Нужно забить char нулями Отправлено: pastor от Ноябрь 26, 2010, 11:12 char array[129] = {0};
Название: Re: Нужно забить char нулями Отправлено: BRE от Ноябрь 26, 2010, 11:13 char array[129] = {0}; Только же первый char = 0. Не?Название: Re: Нужно забить char нулями Отправлено: pastor от Ноябрь 26, 2010, 11:14 Нет )
Название: Re: Нужно забить char нулями Отправлено: BRE от Ноябрь 26, 2010, 11:17 Название: Re: Нужно забить char нулями Отправлено: BRE от Ноябрь 26, 2010, 11:24 Нда. :)
При любой инициализации автоматического массива, он вначале зануляется. Интересно теперь узнать прописано ли это в стандарте. Название: Re: Нужно забить char нулями Отправлено: pastor от Ноябрь 26, 2010, 11:27 Это написано в стандарте. Первый элемент проинициализируется 0, остальные char() Название: Re: Нужно забить char нулями Отправлено: pastor от Ноябрь 26, 2010, 11:32 Цитировать При любой инициализации автоматического массива, он вначале зануляется. мммм, нет. Он содержит мусор. Название: Re: Нужно забить char нулями Отправлено: BRE от Ноябрь 26, 2010, 11:32 Стандарт это хорошо. Спасибо.
Сейчас подумал, а как с этим раньше было в C? Откуда та я же это взял. ;D Если необходимо просто проинициализировать массив, можно написать и так: Код
Название: Re: Нужно забить char нулями Отправлено: BRE от Ноябрь 26, 2010, 11:33 Цитировать При любой инициализации автоматического массива, он вначале зануляется. мммм, нет. Он содержит мусор. = { ... }; Название: Re: Нужно забить char нулями Отправлено: pastor от Ноябрь 26, 2010, 11:38 Стандарт это хорошо. Спасибо. Сейчас подумал, а как с этим раньше было в C? Откуда та я же это взял. ;D Да, помоему в С это не работает :) Но утверждат не буду ) Название: Re: Нужно забить char нулями Отправлено: Waryable от Ноябрь 28, 2010, 18:13 На сколько я помню, при одновременном объявлении и инициализации массива такое возможно. Но при одном условии: если инициализация производится не для всех элементов массива. Например: char ch[4] = {0, 1, 2, 3} все очевидно. А вот: char ch[3] = {0, 1} в результате дает: ch[0] = 0, ch[1] = 1, ch[2] = 0, ch[3] = 0. И т.д. Это производится автоматически согласно стандарта C++. К сожалению не знаю верно ли это для С.
|