К основному контенту

Связанный список на C, создание и распечатка

#include <stdio.h>
#include <stdlib.h>

struct node {
  int id;
  char *name;
  struct node *next;
};

void display(struct node *n);

int main(int argc,char** argv) {

  struct node *root, *next;
  next = malloc(sizeof(struct node*));
  root = next;
  root->id = 1;
  root->name = argv[0];

  for(int i = 1; i < argc; i++) {
    next = next->next =  malloc(sizeof(struct node*));
    next->id = i + 1;
    next->name = argv[i];
  }
  
  next->next = NULL;
  display(root);
  return 0;
}

void display(struct node *n) {
  do {
    printf("[%d] = %s\r\n", n->id, n->name);
  } while( n = n->next );
}  

Комментарии

  1. для компиляции можно использовать https://bellard.org/tcc/ следующим образом:
    tcc main.c
    тестовый запуск:
    C:\tcc\examples>main.exe 1 2 3 [1] = C:\tcc\examples\main.exe [2] = 1 [3] = 2 [4] = 3

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

Кирилица в Arch Linux

После вчерашних обновлений в консоли Arch Linux при выборе русской локали вместо букв печатаются белые квадратики. Очевидно, что по какой-то причине не загружается прописанный в rc.conf шрифт. Временное лекарство от этого: выполнить команду setfont cyr-sun16 . Еще у меня в момент начальной загрузки появляется рябь на экране как от сильных электромагнитных помех в ЭЛТ, хотя у меня ЖК. Может быть это как-то связано.

Сортировка массивов в groovy

Любой массив в java и groovy можно отсортировать статическим методом: Arrays.sort(c); причем это будет очень быстро сто тысяч элементов типа int сортируются за 1 секунду на celeron M 1,8 Mg. Если это массив объектов можно использовать перегруженный метод Arrays.sort(c,comporator);

Arch Linux - руссификация консоли

Вчера, придя с работы, как всегда затеял InstallFest. Уже практически не задумываясь установил свежий арч. И тут заметил что в tty вместо русского - квадратики. Под утро нашел таки сообщение на форме, что в этом виноваты дрова от видео. Там правда речь шла о нвидиа, а у меня ати. Буду пробовать. И еще в lxterminal обратил внимание что сообщения на русском, а то что я вводил на русском потом возвращается системой в виде юникод-символов. Вот такие дела. UPDATE: драйвер не причем. переустановил в консоли(до установки X) по прежнему квадратики вместо букв. неужели придется переключатся на инглиш? Заметил что initscripts скачался c какого-то зеркала не с яндекса. возможно причина в нем.