Разобрать пример объявления динамического массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

нашел такой пример объявления динамического массива ,но без комментариев не могу понять,как это работает с третьей строчки почему там стоит тип чар? как в данном случае влияет на работу это сложение указателей? можно поподробнее про тонкости работы с такими функциями?
Листинг программы
  1. int ** A = malloc(n*sizeof(int*) + n*m*sizeof(int));
  2. char * pc = A;
  3. pc += n*sizeof(int*);
  4. for (int i=0; i<n; i++)
  5. A[i] = pc + i*sizeof(m*sizeof(int));
а можно заставить функцию вернуть структуру,объявленную в ней же?
Листинг программы
  1. struct str Sozdanie_stroki(void)
  2. {
  3. struct str
  4. {
  5. int Len;
  6. int *Point;
  7. } ;
  8. struct str slot ={0,NULL};
  9.  
  10. int i,v,size=1;
  11. int *p1,*p2;
  12. p1=(int*)malloc(size*sizeof(int));
  13. while(1)
  14. {
  15. printf("Vvedite chislo\n");
  16. scanf("%d",&v);
  17. if (v==0) break;
  18. else
  19. {
  20. p1[size-1]=v;
  21. size++;
  22. p2=(int*)malloc(size*sizeof(int));
  23. for(i=0;i<size-1;i++)
  24. p2[i]=p1[i];
  25. free(p1);
  26. p1=p2;
  27. p2=NULL;
  28. }
  29. slot.Len++;
  30. }
  31. slot.Point=p1;
  32. return slot;
у меня не получается так может есть обходной маневр?)

Решение задачи: «Разобрать пример объявления динамического массива»

textual
Листинг программы
  1. void Execute(void)
  2. {
  3.   /* all code  here */
  4. }
  5.  
  6. int main(void)
  7. {
  8.   Execute();
  9.   return 0;
  10. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы