На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> строки
    Объясните пожалуйста зачем в конце строки ставится нуль-терминатор.Ведь строка-массив символов, а в конце массива не ставится нуль-терминатора?Помогите препод по информатике уже задолбал этим вопросом!!!
      '\0' - это означает конец строки
      например:
      char ch[5];
      ch[0] = 'm';
      ch[1] = 'y';
      ch[2] = '\0'; // символ означающий конец строки
      ch[3] = 'E';
      cout << ch << endl;

      должно вывести my wink.gif
        Ну представь, у тебя есть массив

        char name[100];

        Там может храниться имя любой длинны. Например

        sprintf(name,"Donald");
        // или
        sprintf(name,"Ira");

        А когда ты выводишь это имя куда либо, или складываешь строки, то у тебя складывается и выводится не весь массив, а только до нуль-терминатора. А за терминатором значения массива хранятся, но не учавствуют в данных операциях.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0349 ]   [ 16 queries used ]   [ Generated: 4.05.24, 00:42 GMT ]