Member 13603933 Ответов: 1

Как передать константу в аргумент указателя в языке Си?


допустим, у нас есть функция

int func(int* p)
{
....
}


если я хочу передать переменную k=15 я делаю:

x= func(&k); //and all works fine


а что, если я захочу сдать всего 15?(для того, чтобы код был более читабельным, есть некоторые случаи)

x=func(15);
x=func((int*)15);
x=func(&15);


они не работают или функция возвращает неправильный результат? возможно ли это?

Что я уже пробовал:

x=func(15);
x=func((int*)15);
x=func(&15);

1 Ответов

Рейтинг:
0

Peter_in_2780

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

const k = 15;
x = func(&k);

Для удобства чтения вы можете принять соглашение об именовании констант, например, вызвать его k15.


CPallini

5.