почему программа завершилась? Вмешалась ОС? Но если так, то почему?
Почему я не могу поменять значение самого указателя (ведь указатель - это всего лишь ссылка на адрес памяти, а не на значение).
a = (int *)10;
могу ли я указателю дать ссылку на конкретную ячейку в памяти?
получаю ошибку, ведь вряд ли адрес памяти у указателя хранится в виде 16-ричного целочисленного литерала.
int *a = (int *)0x0061FF18;
#include <stdio.h>
int main()
{
int sz = sizeof('A'); // латинское
printf("sz = %d\n", sz);
return 0;
}
char test='A'
на стеке будет 1 байт (+выравнивание). Здесь Си, грубо говоря, проводит преобразование типа — прямо при компиляции. Если написать char test=L'Й'
, сообщит, что преобразование при компиляции ushort→char обрежет результат с 1049 до 25. Я понял, что то, что мы называем символами, на самом деле является числовым кодом
а потому символьным литералам выделяется столько же памяти, сколько и типу int (4 байта).
Но я не совсем понял, как в однобайтный char вмещается четырехбайтный символ?
И когда я объявляю char test = 'A'; то сколько в компьютере выделилось памяти: 1 байт или 4?
ch == 'h' ? (high = guess) : (low = guess)
(ch == 'h' ? high = guess : low) = guess
(ch == 'h' ? high = guess : low) = guess
является грубо неверным. Еще раз: этот набор лексем не имеет вообще никакой интерпретации в грамматике языка С. Его невозможно пропарсить в принципе.@bot.message_handler(content_types=['text'])
def lalala(message):
if message.chat.type == 'private':
if message.text == 'album':
markup = types.InlineKeyboardMarkup(row_width=2)
item1 = types.InlineKeyboardButton("variant1", callback_data='v1')
item2 = types.InlineKeyboardButton("variant2", callback_data='v2')
markup.add(item1, item2)
bot.send_message(message.chat.id, 'Что имеено интересует', reply_markup=markup)
elif message.text == 'profile':
markup = types.InlineKeyboardMarkup(row_width=2)
item3 = types.InlineKeyboardButton("variant1", callback_data='v3')
item4 = types.InlineKeyboardButton("variant2", callback_data='v4')
markup.add(item3, item4)
bot.send_message(message.chat.id, 'Что именно интересует', reply_markup=markup)
elif message.text == 'insta':
markup = types.InlineKeyboardMarkup(row_width=2)
item5 = types.InlineKeyboardButton("variant1", callback_data='v5')
item6 = types.InlineKeyboardButton("variant2", callback_data='v6')
markup.add(item5, item6)
bot.send_message(message.chat.id, 'Что именно интересует', reply_markup=markup)
elif message.text == 'facebook':
markup = types.InlineKeyboardMarkup(row_width=2)
item7 = types.InlineKeyboardButton("variant1", callback_data='v7')
item8 = types.InlineKeyboardButton("variant2", callback_data='v8')
markup.add(item7, item8)
bot.send_message(message.chat.id, 'Что именно интересует', reply_markup=markup)
elif message.text == 'youtube':
markup = types.InlineKeyboardMarkup(row_width=2)
item9 = types.InlineKeyboardButton("variant1", callback_data='v9')
item10 = types.InlineKeyboardButton("variant2", callback_data='v10')
markup.add(item9, item10)
bot.send_message(message.chat.id, 'Что именно интересует', reply_markup=markup)
else:
bot.send_message(message.chat.id, 'Я не знаю такой команды')
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
try:
if call.message:
if call.data == 'v1':
#что должен сделать бот
elif call.data == 'v2':
#что должен сделать бот
#и так далее
except Exception as e:
print(repr(e))