массивы в сях

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Дикс, 24 Dec 2006.

  1. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    подскажите, как создать массив с заранее заданными элементами.

    в пхп раз плюнуть
    $arr[] = 0;
    $arr[] = 6;
    $arr[] = 78;

    а вот в си чего-то не выходит так.

    ещё лучше если дадите ссылку на толковый эл. учебник, буду очень признателен
     
  2. sni4ok

    sni4ok Elder - Старейшина

    Joined:
    4 Nov 2006
    Messages:
    115
    Likes Received:
    37
    Reputations:
    12
    Code:
    int arr[3] = {0,6,78};
    
    а почему выбор пал на си, а не на с++?
    ну насчёт книжок, если нужен именно си, то ищи в сети Кренигана и Ричи.. ссылку прям так и не дам, но если не найдёшь, могу на мыло заслать.
     
    1 person likes this.
  3. Robin_Hood

    Robin_Hood Elder - Старейшина

    Joined:
    30 Oct 2006
    Messages:
    144
    Likes Received:
    155
    Reputations:
    47
    помоему ты просто ствил зря $ перед переменной, в С такого нету
     
  4. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257
    "[3]" ставить необязательно. Массив char'ов можно задавать в кавычках двойных
    Code:
    char array[] = "qwerty";
     
  5. sni4ok

    sni4ok Elder - Старейшина

    Joined:
    4 Nov 2006
    Messages:
    115
    Likes Received:
    37
    Reputations:
    12
    ну я тогда тоже выпендрюсь, и скажу, что массивы wchar_t
    можна задавать в ковычках с префиксным L
    Code:
    wchar_t mumu[] = L"ляляля";
    
    тока в исходном вопросе вопрос был о интах
     
    2 people like this.
  6. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    а давайте будем не выпендриваться, а отвечать по теме...

    по теме -
    int a1[] = {1,2,3};

    int a2[3] = {1,2,3};

    int a3[3];
    a3[0] = 1;
    a3[1] = 2;
    a3[2] = 3;
     
  7. da_ff

    da_ff Elder - Старейшина

    Joined:
    11 Jul 2006
    Messages:
    118
    Likes Received:
    22
    Reputations:
    26
    кернигана лучше не стоит с тех пор многое изменилось с примерами будут проблемы лучше почитать про структурную часть с++ помоему никакой разницы.
     
  8. sni4ok

    sni4ok Elder - Старейшина

    Joined:
    4 Nov 2006
    Messages:
    115
    Likes Received:
    37
    Reputations:
    12
    вопрос по сям, если нужно именно си, то ботать плюсы нет смысла, ибо они больше и сложнее.
     
  9. da_ff

    da_ff Elder - Старейшина

    Joined:
    11 Jul 2006
    Messages:
    118
    Likes Received:
    22
    Reputations:
    26
    какая разница принтф и в си и в си++ работает одинаково а найти книжку по си с примерами компилируемыми например в вижл студии проблемно
     
    #9 da_ff, 24 Dec 2006
    Last edited: 24 Dec 2006
  10. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    переписать код С++, который не использует ооп, на Си как раз плюнуть.
    конечно, новичок это сделать не сможет, но, имхо, стоит учить не Си, а С++ без ооп.
    Потом можно для общего образования познакомиться с Си.
    Я так и сделал кстати, когда учил оба эти языка.
     
  11. da_ff

    da_ff Elder - Старейшина

    Joined:
    11 Jul 2006
    Messages:
    118
    Likes Received:
    22
    Reputations:
    26
    читать не перечитать http://c-books.info/books/load.php?ty=c там много всего

    З.Ы. язвиняюсь что не по теме у меня конектор ЭрДжей к херам развалился я его по частям в гнездо засунул, а он чегото плохо работает а обжать новый нечем, да и нового то нет. Я чего хотел то ниукого такого не было может кто посоветует чего делать? ато уже 18:10 в магазин идти не охото да и завтра думаю не пойду.
     
    #11 da_ff, 24 Dec 2006
    Last edited: 24 Dec 2006
  12. sni4ok

    sni4ok Elder - Старейшина

    Joined:
    4 Nov 2006
    Messages:
    115
    Likes Received:
    37
    Reputations:
    12
    вопрос не про это, если человеку нужен именно си,
    то нафига ему ртти, нафига ему плюсовые исключения, шаблоны, классы? на сях это ему не понадобится..
    и до сих пор же остались вещи куда плюсы особенно не лезут, и если человеку именно это нужно, то нафиг оно ему надо?
    с другой стороны, если у человека нет определенности и есть возможность выбирать, то в дальнейшем он будет более востребован со знанием с++, чем с чистым си, но тогда и подход к изучению должен быть совсем другим, тот же Страуструп в своей книге пишет, что для изучения с++ будет лучше, если вы никогда не писали на си, так как в противном случае резко увеличивается опасность писать не правильно с точки зрения с++ и ооп в частности, но абсолютно разумно с точки зрения чистого си.
     
  13. da_ff

    da_ff Elder - Старейшина

    Joined:
    11 Jul 2006
    Messages:
    118
    Likes Received:
    22
    Reputations:
    26
    Гыгыгы а помоему автору похеру на язык и си он написал потому что влом было ++ писать =)
     
  14. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Ооо, а токое бывает? )
    Имеется ввиду только хороший код ;)
     
  15. ATFakep

    ATFakep Elder - Старейшина

    Joined:
    11 Dec 2006
    Messages:
    83
    Likes Received:
    77
    Reputations:
    51
    Просили книгу Кернигана и Ритчи... Вот: http://openlib.org.ua/ru/books/id/14/
     
    1 person likes this.
  16. da_ff

    da_ff Elder - Старейшина

    Joined:
    11 Jul 2006
    Messages:
    118
    Likes Received:
    22
    Reputations:
    26
    давайте определимся какава цель использования си. а мой взгляд это использование связки си+ВинАпи с целью уменьшения размера и увеличения скорости. тогда надо искать компилятор и хидеры класического си. иначе вижл студия или билдер всеравно накидают много всякой хрени в экзешник. а если просто написать какую нить левую програмку в целях обучения помоему нет никакой разницы что с чего начинать обучение
     
    #16 da_ff, 24 Dec 2006
    Last edited: 24 Dec 2006
  17. sni4ok

    sni4ok Elder - Старейшина

    Joined:
    4 Nov 2006
    Messages:
    115
    Likes Received:
    37
    Reputations:
    12
    например в winDDK поддержки плюсовой crt нету,
    хочешь не хочешь - будешь писать на си)
     
  18. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    открою жуткую тайну - си (а не с++) потому что я учусь на первом курсе универа и там мы изучаем именно его.
    к сожалению учусь на заочном и учебника нет - потому и пишу такие вопросы

    спасибо за ответы всем
     
  19. da_ff

    da_ff Elder - Старейшина

    Joined:
    11 Jul 2006
    Messages:
    118
    Likes Received:
    22
    Reputations:
    26
    хм не угадал. так ни кто не подскажет с разьемом че делать соединение падает до 1кб. Я херею как раньше люди таким скоростям радовались
     
  20. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    почему когда я создаю массив с четырьмя элементами, там их 16 и все остальные равны нулю?
    int A[4] = {6,5,4,3}
    printf("%d", sizeof(A));
    >> 16

    тьфу блин, я начинаю подозревать что в отличии от php, здесь сайзОф возвращает вовсе не элементы. тогда как посчитать элементы?