Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
Страниц: [1] 2 3 4 ... 10
 1 
 : 12-02-2024 14:07 
Автор Boriska - Последний ответ от Джон
Улыбаюсь "Такой… Падает, одним словом." (c)

 2 
 : 12-02-2024 11:20 
Автор Boriska - Последний ответ от Алексей++
Джон, массив - это массив Улыбаюсь

 3 
 : 12-02-2024 10:49 
Автор Boriska - Последний ответ от Джон
Джон, нее, смотри ответ 50, строка 133 на скрине. Там просто char s

Ок, сорри, я видел только скрин из #43.


таки нет. Указателем такая запись окажется только в случае, когда это аргумент функции

Код:
void F(char s[]){}
// это равнозначно
void F(char* s){}

в остальных случаях, char s[] - это массив.

Улыбаюсь А что есть массив?

 4 
 : 12-02-2024 10:21 
Автор Boriska - Последний ответ от Алексей++
Джон, нее, смотри ответ 50, строка 133 на скрине. Там просто char s

и поправочка к
>>s объявлена как char s[], те это целочисленный указатель

таки нет. Указателем такая запись окажется только в случае, когда это аргумент функции

Код:
void F(char s[]){}
// это равнозначно
void F(char* s){}

в остальных случаях, char s[] - это массив. Но массив с непонятным размером, поскольку размер не указан, инициализатор - тоже (таким массивом компилятор не разрешит пользоваться)




Добавлено через 1 минуту и 45 секунд:
а если же инициализатор есть, то это массив с размером (но тоже не указатель)

 5 
 : 12-02-2024 10:04 
Автор Boriska - Последний ответ от Джон
Лёш, s объявлена как char s[], те это целочисленный указатель размером, установленным на данной системе. Насколько я понял, микроконтроллерные студии имеют свои особенности.

 6 
 : 12-02-2024 03:03 
Автор Boriska - Последний ответ от Алексей++
Джон, да, я то и имею в виду - что в char s попадёт только младший байт

Добавлено через 38 секунд:
это же у него уже не массив, а отдельная переменная типа char

 7 
 : 11-02-2024 21:31 
Автор Boriska - Последний ответ от Джон
так содержимое переменной char s смотри

Лёшик, тут ты не совсем прав. Содержимое переменной s, в данном примере, это адрес первой (нулевой) ячейки памяти. Надо смотреть, что лежит в памяти, начиная с этого адреса.

зы хотя я подозреваю, что ты это имел в виду

а мы суем туда char но уже двубайтовый.

char всегда один байт

Boriska, есть предположение.

в чём разница между

char a[] = {'a'};
и
char a = 'a';

Это не одно и то же.

Касаемо вот этого

Ты ж не смотри, что тебе редактор кода показывает (две буквы Б -> "ББ"), а посмотри реально память по адресу s.

 8 
 : 09-02-2024 08:41 
Автор Boriska - Последний ответ от Алексей++
Boriska, добавь компилятору три таких флага. Удивишься Отлично
-pedantic-errors -Wall -Wextra

 9 
 : 09-02-2024 08:11 
Автор Boriska - Последний ответ от Boriska
Цитата
так содержимое переменной char s смотри Улыбаюсь А не размер. С размером то всё понятно
содержимое будет обрезанное (хех)
но вякнуть же полагается, ну хоть ворнингом.

 10 
 : 09-02-2024 07:46 
Автор Boriska - Последний ответ от Алексей++
>>да обрезало
так содержимое переменной char s смотри Улыбаюсь А не размер. С размером то всё понятно
содержимое будет обрезанное (хех)


Страниц: [1] 2 3 4 ... 10
Powered by SMF 1.1.21 | SMF © 2015, Simple Machines