|
|
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
Не пойму почему не работает... вроде все правильна, только вот не компелируется, может подскажет кто что тут к чему char cc1[1000]; &cc1="ssss"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:20 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
или Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:26 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
На выбор: 1) Код: plaintext 1. 2) char cc1[1000] = "ssss"; 3) char cc1[1000] = {'s', 's' , 's', 's', '\0'} 4) если в дальнейшем не будем менять сс1, то можно и так: const char *cc1 = "ssss"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:26 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
JibSkeart, Compiler Error C2146 syntax error : missing ';' before identifier 'с' Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:28 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
>char * c = new char[1000] >c = "Test" Извини, но это бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:28 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. сосмотри что ты написал, валенок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:33 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
а почему char cc1[1000] = "ssss"; проходит а char cc1[1000] ; cc1[1000] = "ssss"; не проходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:37 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
нда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:39 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
Потому что ты пытаешься записать в 1000 элемент типа char (кстати, это выход за пределы диапазона) значение типа const char*. Вообще, тебе нужно обратиться к хорошей литературе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:40 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
мдя-я-я, что творится-то... JS, ты че там такое выдал? Ты хоть сам-то понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:43 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
Лана, ток без обид) char *c=new char[1000]; - это ячейка памяти (для интела размером 4 байта), которая указывает на массив в памяти размером 1000 байтов; Перефразирую - в ячейке с - одержится адрес массива в 1000 байт; а когда ты делаешь c="somthing"; то у тебя в ячейке c будет уже адрес другого клочка памяти, где находицца строка "somthing"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:48 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
дык и теперь понятно блина стало, а то тут блина уже все накинулись... Нда..., валенок... и все в этом духе... я же только начал писать, если бы на PL\SQL то я бы за 5 мин все сделал бы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:52 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
лады, малость можно и ответить: в С++ предусмотрена операция копирования простых типов, а так же конструктор копирования агрегатных типов. массивы С++ не копирует. автор писал:а почему char cc1[1000] = "ssss"; проходит потому что это способ инициализации массива, аналогичен следующему: char cc1[1000]={ 's', 's', 's', 's', 0 }; автор писал:a char cc1[1000] ; cc1[1000] = "ssss"; не проходит а здесь ты пытаешься копировать массивы? но эта операция не определена в С++. Вопрос на сообразительность (только знатокам чур не отвечать), а почему операция копирования массивов не определена? казалось бы, - не так уж и сложно это встроить в компилятор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 14:55 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
В принципе ничего этому не мешает, просто недачет языка программирования. могли бы сделать и так (нет никаких ограничений для этого) В строках может быть символ окончания строки не пропишет да и все... а остальное - недочет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 15:08 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
да нет, нет недочета... все проще: char c[1000]; char *c1="dddd"; далее: с1=c; // копирование указателя на начало массива, // в С++ массив представляется адресом первого элемента, такова семантика *с1=*с; // копирование первого символа т.е., с1 указывает на массив, но нет синтаксической возможности указать, что копируется именно массив, а не указатель на него или не один элемент массива. но это еще ладно, а как ты относишься к тому, что в паскале, если забудешь поставить в параметрах процедуры var будет скопирован весь массив? :) т.е. может оно и хорошо, что массивы не копируются. а скопировать два одинаковых массива можно всегда так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 16:04 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
Крута, хотя мне кажется что Cauchy об этом и не догадывался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 16:08 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
да, такое дело, после PL/SQL ты же обрати внимание, что все эти указатели непосредственно в память указывают, прямо как в ассемблере. :) так что это, аккуратнее... границы диапазонов не проверяются - у памяти нет (почти нет) диапазонов. т.е. смотри за ручками, когда писать будешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 16:23 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
Oracle писал:Крута, хотя мне кажется что Cauchy об этом и не догадывался... Ну как же, я хоть и начинающий сишник, но все же книжки читаю немного. Ведь об этом в самом начале описания массивов рассказывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 16:35 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
Кстати сейчас на конторе с умными людьми поговорил (имеются у нас тоже умные люди) дык они сказали что массивы с С++ это вообще понятие такое виртуальное, на самом деле нет там никаких массивов, а просто есть операция а [] - которая прибавляет к указателю число в скорбках * на размер в одной записи.... Oracle 17.10.2003 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 16:35 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
To Cauchy вот ты крутой такой, книги читаешь... а мне так сказать помочь не хочешь, сбросил бы ссылку какую на книжку, вместет бы с тобой разбирались , проще бы было, а потом еще вместе в загранку, на канары соскачли и работали бы там... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 16:38 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
Вообще то в Builder C++ такая вещь прокатывает ... естесно можно сделать и по другому . я написал то что мне первое пришло в голову ... а поконкретней чем такая запись неверна ??? char * c = new [100]; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 16:55 |
|
||
|
Не пойму как работать с массивом
|
|||
|---|---|---|---|
|
#18+
Ну какой я крутой... А засмеялся я не над тобой. Просто я раньше программил на Delphi и чем больше изучаю C++, тем больше убеждаюсь в том что недочеты как раз в паскале, а в C++ одни плюсы :). Плюсы в смысле расширения возможностей. А книжка у меня бумажная и ссылку на нее я бы рад кинуть, да наука до таких чудес еще не дошла . Книжка называется: Р. Лафоре "Объектно-ориентированное программирование в С++",4-е издание, серия "классика computer science" издательство "Питер" . Кстати там в конце книги написано, что есть представительство издательства в Минске (но наверное для оптовиков). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 16:56 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32297009&tid=2035875]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 421ms |

| 0 / 0 |
