Тема: указатели :)

Ответить в теме
Показано с 1 по 4 из 4
  1. Вверх #1
    Постоялец форума Аватар для Яр
    Пол
    Мужской
    Адрес
    Odessa.Ua
    Возраст
    37
    Сообщений
    2,915
    Репутация
    168

    По умолчанию указатели :)

    есть две функции

    Код:
    void func1(char *ptr)
    {
    	ptr++;
    }
    
    
    void func2()
    {
    	char *ptr="abc";
    	func1(ptr);
    }
    в функции2 до вызова функции1 *ptr = 'a'.
    В функции1 делаем ptr++, и теперь *ptr = 'b'. Но после возвращения в функцию2 *ptr снова = 'a'...
    Можно ли добиться того, чтобы указатель *ptr продолжал указывать на 'b' после возвращения из функции2?

    в принципе, если в func2 возвращять char*, то моя проблема решается, но хотелось бы знать, можно как-то по-другому это реализовать? )
    ~ Motivation is what gets you started. Habit is what keeps you going.


  2. Вверх #2
    Тигровна Аватар для Tigra
    Пол
    Женский
    Адрес
    /dev/null
    Сообщений
    1,528
    Репутация
    267
    Яр, дык это... А ссылки на что?

    Код:
    void func1(char*& ptr) 
    { 
       ptr++; 
    } 
    
    void func2() 
    { 
       char *ptr="abc"; 
       func1(ptr); 
    }
    Не будите во мне Зверя, он и так не высыпается

  3. Вверх #3
    Постоялец форума Аватар для Яр
    Пол
    Мужской
    Адрес
    Odessa.Ua
    Возраст
    37
    Сообщений
    2,915
    Репутация
    168
    Tigra, точно.)) спасибо!
    ~ Motivation is what gets you started. Habit is what keeps you going.

  4. Вверх #4
    Посетитель
    Пол
    Мужской
    Возраст
    46
    Сообщений
    237
    Репутация
    18
    и не забудь, что это указатель на const char

Ответить в теме

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения