Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2015, 17:25   #11
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение


Почему на х, .
потому что есть визуальное подтверждение

http://ideone.com/J7yPZ3

Цитата:
Сообщение от waleri Посмотреть сообщение
Нет, нет и еще раз нет.

Столь яростное выражение отрицания вызвано тем, что форум не позволяет ответить коротко и ясно - нет!
плохо что об этом автор не упомянул.

выходит они только могут хранить адреса ?
RAFA91 вне форума Ответить с цитированием
Старый 26.08.2015, 17:29   #12
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

Цитата:
потому что есть визуальное подтверждение
И что, если начало совпадает? У 1а, 1аа, 1а2141, 134234234, ... начало тоже совпадает...

Цитата:
выходит они только могут хранить адреса ?
Все указатели только хранят адреса. Просто с воидом еще неопределенность в размере.
p51x вне форума Ответить с цитированием
Старый 26.08.2015, 17:40   #13
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Просто с воидом еще неопределенность в размере.
http://ideone.com/cvhtwJ 1 байт

а так

http://ideone.com/UQldly 4 байта
RAFA91 вне форума Ответить с цитированием
Старый 26.08.2015, 17:50   #14
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

Цитата:
1 байт
И это gcc nonstandard extension https://gcc.gnu.org/onlinedocs/gcc-4...#Pointer-Arith

Цитата:
4 байта
Что вас удивляет? Указатель на 32битных архитектурах обычно 32битные...

воид не полный тип и все выкрутасы с его размером это компиляторо-платформзависимые вещи, но обычно там 0
p51x вне форума Ответить с цитированием
Старый 26.08.2015, 17:51   #15
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

А вы попробуйте sizeof(long long) и sizeof(long long*)
waleri вне форума Ответить с цитированием
Старый 26.08.2015, 17:52   #16
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
выходит они только могут хранить адреса ?
Да.
В языке С void указатель автоматически конвертируется в нужный тип, но в С++ это уже не катит.

Например так:
int* ptr = malloc(sizeof(int));
waleri вне форума Ответить с цитированием
Старый 26.08.2015, 18:49   #17
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Да.
В языке С void указатель автоматически конвертируется в нужный тип, но в С++ это уже не катит.

Например так:
int* ptr = malloc(sizeof(int));
. Да. умереть не встать! А потом мусор кто убирать будет? Наверное гастарбайтеры? ха-ха-ха.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 26.08.2015, 20:47   #18
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Для особо придирчивых:

int* ptr = malloc(sizeof(int));
free(ptr);
waleri вне форума Ответить с цитированием
Старый 27.08.2015, 12:01   #19
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Да.
В языке С void указатель автоматически конвертируется в нужный тип, но в С++ это уже не катит.

;
а так i
Код:
nt* ptr = (int*))malloc(sizeof(int));
выходит нельзя даже присваивать указатели void другим
Код:
int x,*p;
void *a=&x;
p = a;
____________

хотя так фурычет



Код:
int main()
{
	int x,*p;
	void *a=&x;
	p = (int*)a;
	*p = 341;
	cout << "\n"<<a<<endl;
	cout << "\n"<<&x<<endl;
	cout << "\n"<<p<<endl;
	cout << "\n"<<x<<endl;
	getch();
     return 0;
}

Последний раз редактировалось RAFA91; 27.08.2015 в 12:05.
RAFA91 вне форума Ответить с цитированием
Старый 27.08.2015, 12:07   #20
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

Цитата:
выходит нельзя даже присваивать указатели void другим
...
хотя так фурычет
Пля, я для кого несколько раз писал - хотите использовать приводите?..
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Универсальный поиск Beerik Microsoft Office Access 36 11.02.2013 15:30
Передать указатель на указатель в функцию erro Общие вопросы C/C++ 3 29.10.2012 17:59
Универсальный блокнот Klaf Общие вопросы Delphi 3 25.04.2012 19:44
Универсальный запрос Kostya777 Microsoft Office Access 2 17.11.2010 20:04
Универсальный парсер gamer123 Общие вопросы Delphi 20 10.08.2010 09:23