LINUX.ORG.RU
Ответ на: комментарий от chicane

>> int a[10];
>> int *a;

> ну еще мы не сможем a[10] использовать для обращение к произвольному адрессу памяти )

почему не сможем? сможем.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от staseg

sizeof(array) покажет вам размер указателя а не массива

ну ладно, вот вам сложнее задача:

int **a в роли двумерного массива против int a[n][m]

chicane
()
Ответ на: комментарий от klalafuda

>почему не сможем? сможем.

я имею ввиду a = something

chicane
()
Ответ на: комментарий от chicane

>ну ладно, вот вам сложнее задача:

Это совсем неправильная задача. как выше уже говорилось (и давали ссылки), int*const и int[] суть одно и то же. А вот int** и int[][] - две совершенно разные вещи.

staseg ★★★★★
()
Ответ на: комментарий от klalafuda

ну а вообще спор об отличиях поведения указателей и массивов бессмыслен, я надеюсь выж не считаете что это одно и тоже? Если нет, то всё остальное не имеет смысла

chicane
()
Ответ на: комментарий от staseg

>Это совсем неправильная задача. как выше уже говорилось (и давали ссылки), int*const и int[] суть одно и то же. А вот int** и int[][] - две совершенно разные вещи.

массив и указатель - все таки разные вещи, что плавно перетекает в то, что int[][] != int**, я то эт описал в ответ на сообщения theos'а, который заявил что int[][] - это указатель на указатель

chicane
()
Ответ на: комментарий от chicane

>массив и указатель - все таки разные вещи, что плавно перетекает в то, что int[][] != int**, я то эт описал в ответ на сообщения theos'а, который заявил что int[][] - это указатель на указатель

Я просто не понял. Ему уже давно объяснили, что он не прав. А в случае одномерного массива все таки вполне можно указатель считать массивом, если например это какой-то буфер. Да, там дополнительные байты под непосредственно указатель - но это фигня:).

staseg ★★★★★
()
Ответ на: комментарий от chicane

>массив и указатель - все таки разные вещи

доказать просто, создайте указатель на выделеную память и создайте массив и посомтрите что обе переменные из себя представляют в памяти

chicane
()
Ответ на: комментарий от staseg

>Я просто не понял. Ему уже давно объяснили, что он не прав. А в случае одномерного массива все таки вполне можно указатель считать массивом, если например это какой-то буфер. Да, там дополнительные байты под непосредственно указатель - но это фигня:).

ну никто не спорит, что указатель можно использовать для адресации одномерного массива, но просто нужно понимать разницу, чтоб не возникло таких заблуждений как у theos'а. Сам когда то на подобном попался...

chicane
()
Ответ на: комментарий от chicane

>ну никто не спорит, что указатель можно использовать для адресации одномерного массива, но просто нужно понимать разницу, чтоб не возникло таких заблуждений как у theos'а. Сам когда то на подобном попался...

Многие наверное попадались. У нас в первом семестре это было самое настоящее безумие: указатель, на константу, константный; массив, указатель на массив указателей и т.д. Не один наш студент прогорел на этом.

staseg ★★★★★
()
Ответ на: комментарий от staseg

ну у нас в вузе препод сам на этом и многом проще "попадался", ну например он нам на полном серьезе заявлял, что функция strcat магическим образом перевыделит память и изменит адрес указателя (за пределами ф-ции strcat!!!)... а он нам еще будет ассемблер читать... :(

chicane
()
Ответ на: комментарий от FloyDos

> гкхм... а на МОЙ ВОПРОС ответ в этом форуме найдется или будем беседовать на тему формальной логики - что такое массив?

Когда здесь задают слишком простые вопросы, народ любит именно "побеседовать". Тебе нужно рассказать задачу более подробно, и я подозреваю, нужно именно объявить константный доспуп к массиву как аргументу функции -- тогда пиши тип изначального массива.

www_linux_org_ru ★★★★★
()

А в ++ и си что, что-то кроме кусков памяти и чисел есть?
И что, давно?

guest-3484-2009
()
Ответ на: комментарий от theos

>a[0] - указатель на первый массив, a[0][1] - указатель на второй элемент в первом массиве.

Fail. Что в очередной раз показывает ваше непонимание того, что такое массивы в языке C.

Davidov ★★★★
()
Ответ на: комментарий от Davidov

А const &
запретили уже? Или оно неработает с сишными массивами?

Gorthauer ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.