Разобрать пример объявления динамического массива - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д