All streams
Search
Write a publication
Pull to refresh
3
0
Kirill Dimitrenko @Newpson

User

Send message

Понял. Как насчёт такого? Теперь разве что вручную прострелить себе колено и преобразовать один указатель в другой.

#include <stdio.h>
#include <stddef.h>

void myfunc(const int (*arr)[3][2])
{
    for (size_t i = 0; i < 3; ++i) {
        for (size_t j = 0; j < 2; ++j) {
            printf("%d\n", (*arr)[i][j]);
        }
    }
}

int main(void)
{
    const int arr[3][2] = {1, 2, 3, 4, 5, 6, };
    myfunc(&arr);

    const int little_evil_arr[][2] = {{1, 2}};
    myfunc(&little_evil_arr);
    return 0;
}
[newpson@archlinux tmp]$ gcc -o bin -g -fsanitize=address -Wall -Wextra -Wpedantic -O2 demo.c
demo.c: In function ‘main’:
demo.c:15:27: warning: missing braces around initializer [-Wmissing-braces]
   15 |     const int arr[3][2] = {1, 2, 3, 4, 5, 6, };
      |                           ^
      |                            {   } {   } {     }
demo.c:19:12: error: passing argument 1 of ‘myfunc’ from incompatible pointer type [-Wincompatible-pointer-types]
   19 |     myfunc(&little_evil_arr);
      |            ^~~~~~~~~~~~~~~~
      |            |
      |            const int (*)[1][2]
demo.c:4:25: note: expected ‘const int (*)[3][2]’ but argument is of type ‘const int (*)[1][2]’
    4 | void myfunc(const int (*arr)[3][2])
      |             ~~~~~~~~~~~~^~~~~~~~~~

Отстреливание колена:

// ...
myfunc((const int (*)[3][2]) &little_evil_arr);
// ...

Попробуйте передать в функцию хотя бы двумерный массив

В чём проблема?

#include <stdio.h>
#include <stddef.h>

void myfunc(const int arr[3][2])
{
    for (size_t i = 0; i < 3; ++i) {
        for (size_t j = 0; j < 2; ++j) {
            printf("%d\n", arr[i][j]);
        }
    }
}

int main(void)
{
    const int arr[3][2] = {1, 2, 3, 4, 5, 6, };
    myfunc(arr);
    return 0;
}

Компилируем:

[newpson@archlinux tmp]$ gcc -o bin -fsanitize=address -Wall -Wextra -Wpedantic -O2 demo.c
demo.c: In function ‘main’:
demo.c:14:27: warning: missing braces around initializer [-Wmissing-braces]
   14 |     const int arr[3][2] = {1, 2, 3, 4, 5, 6, };
      |                           ^
      |                            {   } {   } {     }

Запускаем:

[newpson@archlinux tmp]$ ./bin
1
2
3
4
5
6

в некоторых* городах больше удручают перебои в работе мобильного интернета, которые накладываются на невозможность использования спутников для определения местоположения: заказы либо не приходят, так как приложение думает, что ты в пригороде, либо не приходят (или нельзя отметить принятым), так как связи нет (и на каждый принятый заказ по два раза нужно в поддержку звонить, чтобы статусы проставляли). И потом ещё после слота отбиваться от штрафов за "офлайн", "подмену местоположения", "опоздания" и прочее. А так, конечно, попроще.

но формально дозвон идёт по какому-то номеру, при этом линия становится "занятой", не дозвониться до меня. Собственно, поэтому и ответил на коммент)

Нет, GPRS/EDGE. Скорость аж до 100 килобит иногда подскакивает!)

upd. аппарат Nokia 6303ic.

dial-up

1) Использование кнопочника в качестве модема считается? Tele2 позволяет)

Скрытый текст

2) По приколу. upd. Для сессий SSH и входа на простенькие веб-интерфейсы хватает.

как увидеть всю эту красоту

Я использовал первое попавшееся приложение по запросу "apk analyzer" в Google Play. Можно онлайн сервисами распаковать (например). Можно aapt2 из Android SDK использовать. И так далее, куча средств.

приложение ничего не спросило

такая роскошь была до какой-то версии Android, вроде 6. Далее появились рантайм-разрешения (всплывающие окошки), а в какой-то ещё версии вовсе перестали показывать разрешения при установке. Не знаю насчёт, скажем, геолокации или истории звонков, но вот всякие id для таргетинга точно отдаются без явного разрешения со стороны системы (возможно, это глубоко закопано в политике конфиденцильности и прочем юридическом мусоре, с которым вы соглашаетесь при входе).

P.S. не относится к RuStore, так как не пользуюсь, не знаю, но бывали случаи, что приложение просто не пускает в себя, если не разрешишь все всплывашки.

разрешений нет никаких кроме уведомлений

неужели?

Скрытый текст

Полный комплект.

Корзина, как крайне простой инструмент, заменяет бэкап (если её вообще можно сравнивать с бэкапом) в задачах "случайно удалил не то" или "удалил, но пригодилось через n-времени, где n - в пределах нескольких дней", её не нужно очищать вручную, просто задать время (например, неделя с момента помещения) или лимит (например, 1 гб) для автоочистки. Не требует обслуживания, специальной файловой системы или дополнительного места. Бэкап для таких задач - как из пушки по воробьям. Само собой, они делаются, но делать их, скажем, каждую минуту (а неизбежное может произойти в пределах этой одной минуты) - странновато.

4:19:

использование корзины не сильно востребовано среди не начинающих пользователей

4:20: окей гугл, как восстановить данные на ext4

а системный блок у вас на полу или уровнем выше? Я переставил как-то системник на полку. За полгода небольшой "пушок" на дне собирается и на кулерах чуть, радиаторы чистые.

со школьной подготовкой его хорошо (90+) не сдать

если считать школьной подготовкой разбор заданий с учителем информатики, то это как повезёт. А вообще есть дядька Алексей Кабанов на ют*бе, он разносит большинство заданий с помощью синтаксического и библиотечного сахара питона в пару строк кода (оставляя тем самым больше времени на последние задачки), хотя и аналитическое решение тоже хорошо объясняет. Собственно, благодаря ему сдал на 90. И после сдачи у меня было ощущение, что это самый лёгкий экзамен из всех. Ошибка выжившего? Вряд ли, каждый год у него набирается куча комментариев с благодарностями с похожими результатами.

Скрытый текст
\frac{5\pi}{2}

это расчёты на коленке для понимания масштабов :) никакой научной ценности они не представляют.

Но если механизировать лёгкие и вращать человека, чтобы распределять кровь по организму...

Предположим, человек может длительно выдерживать перегрузку в 10g. Расстояние от Земли до Марса - 237.5 млн км. Если первую половину этого пути ускоряться с ускорением 10g, а вторую замедляться (-10g), то после несложных расчётов (S = (at^2)/2) получим, что долететь до Марса можно примерно за 98457 секунд или 27 часов, а скорость в пике будет составлять 2.68 млн км/ч.

пережил гарантийный срок

Пережил, полагаю. На сайте магазина указан стандартный срок в один год. Но где-то в инструкции по эксплуатации вычитал под звёздочкой, что это с момента производства. По факту гарантия там несколько месяцев была.

не находится дешевле 20 000

Думаю, магазин сбывал остатки, поэтому цена под конец вообще упала до 5 тысяч рублей. Искать такие цены, наверное, нужно именно там, где сбывают остатки. Вообще куплено это недоразумение было ради эксперимента, но в итоге он полностью себя окупил.

Скрытый текст
С этого ноута, кстати, сейчас и работаю.
С этого ноута, кстати, сейчас и работаю.

Быть может, напрямую с Китая заказать что-то подобное было бы ещё дешевле :)

Information

Rating
4,404-th
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity