Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.078 c
9-1084531632
AlexRush
2004-05-14 14:47
2004.08.29
Алгоритм -> Фильтрация растра (бликиб шумы)


1-1092682678
Seldon
2004-08-16 22:57
2004.08.29
Как задать папку для генерации DCU и EXE


6-1087148493
Alexey
2004-06-13 21:41
2004.08.29
проблемы с RAS


14-1092235635
ghg
2004-08-11 18:47
2004.08.29
вопрос по C++


4-1088519828
Rain
2004-06-29 18:37
2004.08.29
Прием DTMF сигналов посредством модема





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский