c char



Автор Jolly Roger задал вопрос в разделе Другие языки и технологии

[C++] char && char* && char[ ] и получил лучший ответ

Ответ от Зло[гуру]
char* x = "Hello"; и char s[ ] = "Hello"; - считай, одно и то же.
x и s- указатели на char, длина определяется из пост условия.
cout << *x; - вывести значение по адресу x. можешь попробовать cout << *(x+1); и т. д.
cout << "The value of x: " << x << endl; выводит Hello потому что ты и просишь его вывести строку.
если нужен адрес - можешь, например, воспользоваться printf( "%p", x )
давай лучше через почту

Ответ от Николай Веселуха[гуру]
Здесь ощущается разница.. .
#include <iostream>
using namespace std;
int main() {
char arr[] = "Hello";
char * ptr = "Hello";
int size_arr, size_ptr;
size_arr = sizeof(arr);
size_ptr = sizeof(ptr);
cout << "size_arr = " << size_arr << endl << "size_ptr = " << size_ptr;
cin.get();
return 0;
}
Во втором случае ничего не известно о размере строки. Попытка вычислить выдаёт размер самого указателя, который является int, хотя и указывает на char

Ответ от None[эксперт]
Запомни. Имя массива (этикетка) - это всегда указатель на первый элемент массива и не важно какой будет тип.
Что такое строка ?? -это массив символов. Ты можешь объявить либо указатель на строку, либо массив символов, суть одна. т. к повторю имя массива - это указатель на первый элемент.
Почему же в первом варианте у тебя возникает ошибка при присваивании элементу строки. Это зависит от реализации компилятора, когда ты объявляешь указатель на строку, он помещает эти данные в неизменяемую область памяти. Фактически у тебя получается константная строка.
Поэтому предподчительней второй способ.

Ответ от None[активный]
Запомни. Имя массива (этикетка) - это всегда указатель на первый элемент массива и не важно какой будет тип. Что такое строка ?? -это массив символов. Ты можешь объявить либо указатель на строку, либо массив символов, суть одна. т. к повторю имя

Ответ от Николай Веселуха[гуру]
Здесь ощущается разница.. . #include <iostream> using namespace std; int main() { char arr[] = "Hello"; char * ptr = "Hello"; int size_arr, size_ptr; size_arr = sizeof(arr); size_ptr = sizeof(

Ответ от None[активный]
Запомни. Имя массива (этикетка) - это всегда указатель на первый элемент массива и не важно какой будет тип. Что такое строка ?? -это массив символов. Ты можешь объявить либо указатель на строку, либо массив символов, суть одна. т. к повторю имя

Ответ от Николай Веселуха[гуру]
Здесь ощущается разница.. . #include <iostream> using namespace std; int main() { char arr[] = "Hello"; char * ptr = "Hello"; int size_arr, size_ptr; size_arr = sizeof(arr); size_ptr = sizeof(

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: [C++] char && char* && char[ ]
спросили в Shadrinsk
Pascal. Как перевести из char в string и наоборот?
String по сути - массив Char
c : Char;
s :String;
s[\'любой номер\']:=c;
или
подробнее...

Как перевести тип int в тип char на C?
int и char преобразуются друг в друга автоматом, т. е. можно записать:
int i;
char c;
c
подробнее...
спросили в Железо
хочу собрать компьютер с core i7
вот система c Core i7 с оптимальным соотношением цена/производительность:

Процессор
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Железо 635 год
Core i5. чем хороши новые процы от intel? и чем будет отличаться Core i5-650 (3.20Hz) от Athlon II X4 635 (2.9 GHz)?
пипец)) копипаст, самому написать мозга не хватает. атлоны будут немного слабее в играх, но на
подробнее...

Как перевести буквы в цифры и назад?
функция ord(c: char): integer
возвращает анси код символа
а твоем случае тебе надо сделать
подробнее...
спросили в Футбол
сколько раз играли между собой Россия (СССР) и Уругвай в футбол?
Кубок независимости Бразилии 1972, 1/2 финала, группа B
29.06.1972СССР –Уругвай1:0 (1:0)подробнее...

Множества (Delphi)
var A, B, D : Set of Char;
C : Char;
begin
...Заполнить нужно! Но как заполнить не
подробнее...

Определить порядковый номер буквы в русском алфавите
В таблице кодировки DOS есть разрыв между символами "п" и "р" (маленькие русские буквы, для больших
подробнее...
спросили в Шифр
XOR шифрование. Как работает этот алгоритм (каким образом он шифрует)
примере программы на Delphi.

var key, text, longkey, result : string;
i :
подробнее...
Типы данных в C на Википедии
Посмотрите статью на википедии про Типы данных в C
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*