Форум программистов, компьютерный форум CyberForum.ru

Вопрос про указатели - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ матрицы... http://www.cyberforum.ru/cpp-beginners/thread91611.html
даны две целочисленные квадратные матрицы порядка 6,найти последовательность из нулей и единиц,b1....b6,такую что b1=1 когда все элементы і-й строки первой матрицы больше соответствующих элементов і-й строки второй матрицы
C++ Анализ массива Здравствуйте, программисты. Помогите решить задачу: "Написать программу, которая вводит значения элементов целочисленного массива, анализирует их и выводит на экран те элементы, которые встречаются в массиве только один раз." Половину написал, вот набросок: #include <cstdlib> #include <iostream> using namespace std; int main() {int n=10; http://www.cyberforum.ru/cpp-beginners/thread91606.html
C++ программа на C++
Добрые люди помогите решить задачу! Написать программу, которая выдает все возможные перестановки симво- лов пятисимвольной строки, вводимой с клавиатуры. заранее благодарен всем откликнувшимся!!! Добавлено через 5 часов 15 минут что нет добрых людей, готовых помочь студенту?????
Дано предложение. Вывести все различные слова C++
Дано предложение. Вывести все различные слова.Помогите пожалуста:)))))Надо решить в Си!
C++ Цветные символы в консоли. http://www.cyberforum.ru/cpp-beginners/thread91580.html
Уважаемые, подскажите как сделать символы в консоли цветными. IDE - VStudio 2008.
C++ WaitForSingleObject вешает интерфейс Вот решил написать функцию для запуска процесса и ожидание завершения. void StartAndWait (char* Program, char* WorkDirectory) { STARTUPINFO cif; ZeroMemory(&cif,sizeof(STARTUPINFO)); PROCESS_INFORMATION pi; if(CreateProcess(Program,NULL,NULL,NULL,FALSE,FALSE,NULL,WorkDirectory,&cif,&pi)) { подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.02.2010, 03:57     Вопрос про указатели
Цитата Сообщение от Krist_ALL
угу(
непонял вот это
Цитата Сообщение от accept
C
1
char *a = 's';
не сработает
's' преобразуется в код символа s из таблицы символов
в таблице ASCII код символа s равен 0x73
в десятичной системе 0x73 равно 115

получается, что
C
1
char *a = 's';
равно
C
1
char *a = 0x73;
равно
C
1
char *a = 115;
115 или 0x73 или 's' не имеет адреса
мы не можем сделать
C
1
char *a = &'s';
потому что 's' - это не объект, адрес которого можно узнать, а символьная константа
символьная константа преобразуется в целочисленную константу
целочисленная константа - это число
число - это значение

a - это переменная, даже char *a - это переменная
это переменная потому, что её значение может меняться в течение программы

значением переменной типа указатель на какой-то тип X является адрес объекта типа X
переводим
значением переменной типа указатель на тип char является адрес объекта типа char

C
1
char *a = 115;
выдаст ошибку, потому что переменной типа указатель на символ присваивается целое число
этой переменной должен присваиваться указатель на символ
указатель на символ - это адрес символа
поэтому, если мы хотим поместить адрес напрямую, мы должны целое число привести к типу указателя на символ

C
1
char *a = (char *) 115;
в переменную a запишется адрес, который равен 115

C
1
printf("%p" "\n", a);
покажет 0x73

C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>
 
int main(void) /* C89 ANSI */
{
    char *a;
    
    a = (char *) 115;
    
    printf("%p" "\n", a);
    
    exit(EXIT_SUCCESS);
}
 
Текущее время: 20:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru