LINUX.ORG.RU

Типы [С].


0

0

int i; char s[]="123" //задать значение строки s во время ее объявления можно. //s="321"; а так нельзя. Почему ? i=atoi(s); //преобразовывает строку s в целое число и i==123. Есть ли обратная функция, которая переводит целое число 123 в строку "123"?

anonymous

> задать значение строки s во время ее объявления можно. //s="321"; а так нельзя.

s[] это типа константного указателя. Если ты определишь char *s; то сможешь присвоить s = "123";

> Есть ли обратная функция, которая переводит целое число 123 в строку "123"?

snprintf

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

если нужна неконстантная можешь сделать strdup("123")

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

> s[] это типа константного указателя. ...

6.9:	Someone explained to me that arrays were really just constant
	pointers.

A:	This is a bit of an oversimplification.  An array name is
	"constant" in that it cannot be assigned to, but an array is
	*not* a pointer, as the discussion and pictures in question 6.2
	should make clear.  See also questions 6.3 and 6.8. 

(c) comp.lang.c faq

uj2 ★★★
()

Люди делятся на тех кто понимает указатели и тех кто не понимает.

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