Похожие чаты

Ouch... I knew about array decay, but I didn't knew

about that weird behavior of array dereference when it has the (somehow function pointer like) syntax "T (*v)[U]". The only advantage of this is that one has the size of the whole array (which one has anyway as it has to be available at compile time). The price for that is that one has to add another level of dereference. Is there any other advantage I'm not aware of? Why not just using a const/constexpr/define for the fixed array size? Here's the code I tested this with:
#include <stdio.h>

void function(int *arr) {
printf("sizeof(arr) = %d\n", sizeof(arr)); // size of pointer
printf("arr = %d\n", arr); // addr of array
printf("*arr = %d\n", *arr); // first element
}

void function2(int (*arr)[10]) {
printf("sizeof(arr) = %d\n", sizeof(arr)); // size of pointer
printf("sizeof(*arr) = %d\n", sizeof(*arr)); // size of array (already known at compile time)
printf("arr = %d\n", arr); // addr of array
printf("*arr = %d\n", *arr); // addr of array
printf("**arr = %d\n", **arr); // first element
}

void main(int argc, char* argv[]) {
int a[10] = {42};
printf("\n==================\n");
function(a);
printf("\n==================\n");
function2(&a);
}

Output:
==================
sizeof(arr) = 4
arr = 13629964
*arr = 42

==================
sizeof(arr) = 4
sizeof(*arr) = 40
arr = 13629964
*arr = 13629964
**arr = 42

2 ответов

14 просмотров

There isn't any advantage from for it.

Why don't you use a reference? O.o

Похожие вопросы

Обсуждают сегодня

Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
is that okay?
Samurai 🇯🇵
21
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
How about the project bro Likes the community not that active ?
🅿️abby_FX
19
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте товарищи. А где вы смотрите маркеры/фенотипы клеток, чтобы подобрать антитело для задачи? Есть какой-то ресурс/база данных, или всё ручками по статьям? Мне нужно ...
Abruhmed
14
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Карта сайта