Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: указатель *  (Прочитано 765 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ne_gosu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
указатель *
« : 27 Мая 2013, 23:39:30 »
Что делает эта функция, и как объяснить расстановку "звездочек"?
void getString(const char * fileName)
{
   FILE * file = fopen(fileName, "r");
   fseek(file, 0, SEEK_END);
   size = ftell(file);
   fseek(file, 0, SEEK_SET);
   str = new char[size];
   fread(str, size, 1, file);
   fclose(file);
}

Оффлайн arrecck

  • Старожил
  • *
  • Сообщений: 1725
    • Просмотр профиля
Re: указатель *
« Ответ #1 : 27 Мая 2013, 23:54:11 »
заносит содержимое файла в строку
а что со звездочками?


Онлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5697
  • Все по палатам!
    • Просмотр профиля
Re: указатель *
« Ответ #2 : 27 Мая 2013, 23:57:26 »
ne_gosu,
man fopen и т.д.
Что не понятно - читайте книги
Извините, я все еще учусь

Оффлайн ne_gosu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: указатель *
« Ответ #3 : 28 Мая 2013, 00:04:33 »
заносит содержимое файла в строку
а что со звездочками?


есть ли разница между тем, когда * пишут вплотную к типу(vector<string>* result = new vector<string>();) и , когда отделяют пробелом (char * str;)?

Оффлайн arrecck

  • Старожил
  • *
  • Сообщений: 1725
    • Просмотр профиля
Re: указатель *
« Ответ #4 : 28 Мая 2013, 00:31:24 »
нет
type* var
type *var
type * var
парсер разберет их одинаково, но
type *var - канонично.

Оффлайн Чистый

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3473
  • nix - вот оно счастье...
    • Просмотр профиля
Re: указатель *
« Ответ #5 : 28 Мая 2013, 08:53:13 »
Поменяйте название в соответствии c темой!
Тестовый репозиторий kdeNeur ppa:devcode/kdeneur
各々が死ぬことをどのように決定する

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: указатель *
« Ответ #6 : 28 Мая 2013, 13:28:50 »
нет
type* var
type *var
type * var
парсер разберет их одинаково, но
type *var - канонично.
каноничность каноничностью, а * скорее относится к типу переменной.
однако есть ньюанс. если написать int* test1, test2;
test1 - Это указатель, а test2 - целое число.

Ну а пишут кто во что горазд.
Читайте code style guide вашей организации =)

Оффлайн appomsk

  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: указатель *
« Ответ #7 : 02 Июня 2013, 13:13:45 »
Конкретно этот вопрос убивал меня наповал (это когда я еще пытался найти смысл во всем). На самом деле таких вопросов много. Навскидку:

Стек растет вверх, вниз, влево или вправо? Натуральные числа начинаются с 0 или 1? Первый член полинома с максимальной степенью или минимальной? При целочисленном делении может получится отрицательный остаток? Как правильно перевести на русский термин character?

Короче - нужна тема - "Как перестать беспокоиться и научиться отделять важные вопросы от неважных".

:)

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: указатель *
« Ответ #8 : 03 Июня 2013, 09:37:14 »
Нужно больше знаний, тогда придёт понимание что важное а что не важное.
Вопросы останутся, но уже на другом уровне, тогда же придет понимание, что не стоит клевать мозг философией о смысле жизни в программерском форуме.

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: указатель *
« Ответ #9 : 06 Июня 2013, 00:56:57 »

каноничность каноничностью, а * скорее относится к типу переменной.
однако есть ньюанс. если написать int* test1, test2;
test1 - Это указатель, а test2 - целое число.

...

Поэтому лучше писать
Код: (C) [Выделить]
int *test1, test2;а еще лучше —
Код: (C) [Выделить]
int *ptr1, num2;или даже
Код: (C) [Выделить]
int *p_test1;
int n_test2;
Делюсь знаниями, но их у меня мало!

 

Страница сгенерирована за 0.081 секунд. Запросов: 25.