User Tools

Site Tools


Sidebar






Old

courses:programming:topic11

This is an old revision of the document!


Динамические структуры

// Programming 1. Sample at 2016-11-17-14-00.56
#include <stdio.h>
#include <stdlib.h>
 
struct Person {
  char name[100];
  int  age;
  struct Person *next;
};
 
struct Person *data = NULL;
 
void generate_data()
{
  data = (struct Person*)malloc(sizeof(struct Person));
  struct Person *ptr = data;
  printf("data = %p\n",data);
  for(int i=0; i<5; i++)
  {
    sprintf(ptr->name,"name-%d",i);
    ptr->age = 10+i;
    if( 4 != i )
    {
      ptr->next = (struct Person*)malloc(sizeof(*ptr));
      ptr = ptr->next;
    } else ptr->next = NULL;
  }
}
 
void print_data() {
  struct Person *ptr = data;
  while(ptr)
  {
    printf("    %s, age %d\n",ptr->name, ptr->age);
    ptr=ptr->next;
  }
}
 
int main(/*int c, char **v */)
{
  generate_data(); 
  print_data();
  return 0;
}
courses/programming/topic11.1479565530.txt.gz · Last modified: 2022/12/10 09:08 (external edit)