Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

вопрос по C++   Найти похожие ветки 

 
ghg ©   (2004-08-11 18:47) [0]

Нужно объявить массив и выделить под него память, делаю так:

int  *number_current_sorted;

number_current_sorted = (int *)calloc(VectCoordLen, sizeof(number_current_sorted[0]));

после выделения памяти в массиве тольок один элемент. Как сделать правильно?
ЗЫ: не надо отсылать к книжкам, нету возможности посмотреть и нужно сейчас ответ на вопрос иметь.


 
VMcL ©   (2004-08-11 18:53) [1]

number_current_sorted = (int *)calloc(VectCoordLen, sizeof(number_current_sorted[0] * КвоЭлементов));


 
Тень пастора Шлага   (2004-08-11 18:56) [2]

Какой же это С++? Это С в чистом виде
в С++
number_current_sorted = new int(кол-во эл-тов);


 
wicked ©   (2004-08-11 19:00) [3]


> number_current_sorted = (int *)calloc(VectCoordLen, sizeof(number_current_sorted[0]
> * КвоЭлементов));

как раз код в вопросе правильный...
вопрос в том, как уважаемый ghg © узнал, что в массиве один элемент?... VectCoordLen чему равен?...


> Какой же это С++? Это С в чистом виде

ЗЫ а это тенденция такая - многие на этом форуме считают, что си и си++ - один и тот же язык... а некоторые даже этого не знают о си, а только о visual c...


 
ghg ©   (2004-08-11 19:03) [4]

>Тень пастора Шлага   (11.08.04 18:56) [2]
Ну пусть будет C, для меня разницы нет

>VMcL ©   (11.08.04 18:53) [1]
странно
в MSDN написано что первый параметр это количество элементов, а второй это размер одного элемента а не всех в сумме. Разве не так?


 
Ega23 ©   (2004-08-11 19:04) [5]

а только о visual c...
++


 
VMcL ©   (2004-08-11 19:04) [6]

>>VMcL ©  (11.08.04 18:53) [1]

Oops. Не заметил, что calloc, а не malloc.


 
ghg ©   (2004-08-11 19:06) [7]

>wicked ©   (11.08.04 19:00) [3]
не нужно передергивать
да я не знаю разницы между с и с++ потому что ими не занимался
код сишный, компиляется в MSVC 6

VectCoordLen = 100;
а само содержимое массива я смотрю в Watch и там один элемент


 
wicked ©   (2004-08-11 19:11) [8]

> ghg [7]

> а само содержимое массива я смотрю в Watch и там один элемент

наивный... поверь мне, если указатель не NULL, то их там 100... а поскольку ты обьявил переменную как int*, то и получи, что хотел - откуда отладчику знать, сколько там памяти выделено под поинтер?...


> не нужно передергивать
> да я не знаю разницы между с и с++ потому что ими не занимался

и не надо принимать всё на свой счет, ок?... :)


 
ghg ©   (2004-08-11 19:14) [9]

>wicked ©   (11.08.04 19:11) [8]
хорошо
как нужно объявить массив и как выделить память чтобы видно его было содержимое в Watch?

да я тоже погорячился :)


 
ламер ©   (2004-08-11 19:19) [10]

> Тень пастора Шлага   (11.08.04 18:56) [2]
> Какой же это С++? Это С в чистом виде
> в С++
> number_current_sorted = new int(кол-во эл-тов);
таки скобочки квадратные должны быть.
... = new int[count];


 
wicked ©   (2004-08-11 19:20) [11]

1. обьявить статически - int number_current_sorted[100]
2. обьявить "динамически" - int * (number_current_sorted[100])
3. (самый реальный) плюнуть на обьявления и заставить Watch поверить, что там больше одного элемента... поскольку, я так понял, используется msvc, а там отладчик - та еще песня, то тут я не помощник, хотя извернуться можно... например, если используется где то выражение типа number_current_sorted[index], то такое выражение можно скормить Watch"у - пусть показывает текущее значение....
как вариант - заставить показывать дамп памяти под number_current_sorted....


 
Ega23 ©   (2004-08-11 19:22) [12]

Самый лучший отладчик - SoftIce (чтоб он сдох)!


 
Igorek ©   (2004-08-12 10:49) [13]


> ламер ©   (11.08.04 19:19) [10]
> таки скобочки квадратные должны быть.
> ... = new int[count];



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
14-1092378729
syte_ser78
2004-08-13 10:32
2004.08.29
Поясните смысл ошибки


1-1092216941
Evgeniy
2004-08-11 13:35
2004.08.29
Random от 1 до 100


3-1091784291
Самовар
2004-08-06 13:24
2004.08.29
Сортировка


1-1092339983
Cobalt
2004-08-12 23:46
2004.08.29
Установка компонент в D7


1-1092231104
Jaxtor
2004-08-11 17:31
2004.08.29
Исходники компонент и отладчик