Size: a a a

2020 July 21

YB

Yarique Belgorodsky in supapro.cxx
Midow Noname
а в каком порядке сразу с OS?
универстальный ответ: алгоритмы и структуры данных
источник

s

std::slavik in supapro.cxx
причем как в C++ так и в C
#include <stdio.h>

int main()
{
   int arr[] = {1, 2, 3};
   size_t arr_sz;
   arr_sz= *(&arr + 1) - arr;
   printf("%u\n", arr_sz);
}
источник

s

std::slavik in supapro.cxx
Anatoly Shirokov
разыменование указателя указывающего за последний элемент массива
а что такое последний элемент?, я могу и +2 сделать
#include <stdio.h>

int main()
{
   int arr[] = {1, 2, 3};
   size_t arr_sz;
   arr_sz = *(&arr + 2) - arr;
   printf("%u\n", arr_sz / 2);
}
источник

AS

Anatoly Shirokov in supapro.cxx
std::slavik
а что такое последний элемент?, я могу и +2 сделать
#include <stdio.h>

int main()
{
   int arr[] = {1, 2, 3};
   size_t arr_sz;
   arr_sz = *(&arr + 2) - arr;
   printf("%u\n", arr_sz / 2);
}
&arr - указатель на массив из одного элемента
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Anatoly Shirokov
&arr - указатель на массив из одного элемента
Из одного разве?
источник

AS

Anatoly Shirokov in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Из одного разве?
да, указатель на массив из одного элемента, тип которого является массив из 3 int
источник

s

std::slavik in supapro.cxx
Anatoly Shirokov
&arr - указатель на массив из одного элемента
понял
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Anatoly Shirokov
да, указатель на массив из одного элемента, тип которого является массив из 3 int
Разве не int(*)[3]?
источник

AS

Anatoly Shirokov in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Разве не int(*)[3]?
ну? указатель на массив из одного элемента
источник

s

std::slavik in supapro.cxx
Anatoly Shirokov
да, указатель на массив из одного элемента, тип которого является массив из 3 int
то есть если будет 2 массива это не ub?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Anatoly Shirokov
ну? указатель на массив из одного элемента
Указател на массив из 3х элементов...
источник

AS

Anatoly Shirokov in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Указател на массив из 3х элементов...
int d = 10;
int* p = &d; // указатель на массив из одного элемента
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Anatoly Shirokov
int d = 10;
int* p = &d; // указатель на массив из одного элемента
&d это указатель на инт
источник

AS

Anatoly Shirokov in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
&d это указатель на инт
да, но и при этом и указатель на массив из одного элемента
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Anatoly Shirokov
да, но и при этом и указатель на массив из одного элемента
А откуда массив🤔
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Видимо я просто в вашу терминологию не врубаюсь
источник

s

std::slavik in supapro.cxx
#include <stdio.h>

int main()
{
   int arr[][3] = {{1, 2, 3},{1, 2, 3}};
   size_t arr_sz;
   arr_sz = *(&(arr[0]) + 1) - arr[0];
   printf("%u\n", arr_sz);
}
источник

AS

Anatoly Shirokov in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
А откуда массив🤔
void func(char *ptr);
...
char ch = '\0';
char arr1[1] = {0};
char arr2[2] = {0, 1};
func(&ch);
func(arr1);
func(arr2);
источник

s

std::slavik in supapro.cxx
std::slavik
#include <stdio.h>

int main()
{
   int arr[][3] = {{1, 2, 3},{1, 2, 3}};
   size_t arr_sz;
   arr_sz = *(&(arr[0]) + 1) - arr[0];
   printf("%u\n", arr_sz);
}
это не ub?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
std::slavik
#include <stdio.h>

int main()
{
   int arr[][3] = {{1, 2, 3},{1, 2, 3}};
   size_t arr_sz;
   arr_sz = *(&(arr[0]) + 1) - arr[0];
   printf("%u\n", arr_sz);
}
Будет 1 же
источник