Разобрать пример объявления динамического массива - C (СИ)
Формулировка задачи:
нашел такой пример объявления динамического массива ,но без комментариев
не могу понять,как это работает с третьей строчки
почему там стоит тип чар?
как в данном случае влияет на работу это сложение указателей?
можно поподробнее про тонкости работы с такими функциями?
у меня не получается так
может есть обходной маневр?)
Листинг программы
- int ** A = malloc(n*sizeof(int*) + n*m*sizeof(int));
- char * pc = A;
- pc += n*sizeof(int*);
- for (int i=0; i<n; i++)
- A[i] = pc + i*sizeof(m*sizeof(int));
а можно заставить функцию вернуть структуру,объявленную в ней же?
Листинг программы
- struct str Sozdanie_stroki(void)
- {
- struct str
- {
- int Len;
- int *Point;
- } ;
- struct str slot ={0,NULL};
- int i,v,size=1;
- int *p1,*p2;
- p1=(int*)malloc(size*sizeof(int));
- while(1)
- {
- printf("Vvedite chislo\n");
- scanf("%d",&v);
- if (v==0) break;
- else
- {
- p1[size-1]=v;
- size++;
- p2=(int*)malloc(size*sizeof(int));
- for(i=0;i<size-1;i++)
- p2[i]=p1[i];
- free(p1);
- p1=p2;
- p2=NULL;
- }
- slot.Len++;
- }
- slot.Point=p1;
- return slot;
Решение задачи: «Разобрать пример объявления динамического массива»
textual
Листинг программы
- void Execute(void)
- {
- /* all code here */
- }
- int main(void)
- {
- Execute();
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д