Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Уроки Visual C++ arrow Microsoft visual c++ 2008. Урок 16. Структуры и указатели. Пример простой CLR-программы.
07.11.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Microsoft visual c++ 2008. Урок 16. Структуры и указатели. Пример простой CLR-программы. Печать E-mail
Автор megabax   
03.03.2012 г.
New Page 1

Microsoft visual c++ 2008. Урок 16. Структуры и указатели. Пример простой CLR-программы.

Указатель - это переменная, которая содержит в себе адрес другой переменной. Если мы объявим int a, то присвоение Pa=&a датс адрес этой переменно (номер ячейки памяти, где она храниться. Что бы было понятно, приведу такаю аналогию: сама переменная a - это содержимое некого ящичка с номером. &a (или Pa после присваивания) - это номер ящичка. В данном случае Pa - это уже бумажка с номером ящика переменной a, но уже положенная в другой ящик. Операции взятия адреса соответствует обратная операция - определения содержимого по адресу. Например, мы можем написать b=*Pa (после того как написали Pa=&a) и в b у нас будет содержимое переменной a. 

Указатель можно объявить вот такой конструкцией:

<Тип переменной> * <Имя указателя>

Например:

char * P;

void * ptr;

Если мы объявили указатель на char, то конструкция *P у нас будет первым символом массива, а после совершения операции P++ *P возвратит уже второй символ.

В VC++, начиная с версии VC++ 2005 появилась система CLR, специально созданная для безопасной и более удобной работы с указателями. В ней указатели подразделяются на следующие типы:

  • Регулируемые указатели.

  • Нерегулируемые указатели.

  • Нерегулируемые указатели функций.

Две последних типа указателя как раз и являются указателями, созданными при помощи *. Их можно создавать и без CLR. Но для таких указателей программист сам должен заботиться о выделении и освобождении памяти. Другое дело CLR. Так все это автоматизировано и применяются регулируемые указатели. В отличие от нерегулируемых их обозначают знаком ^. 

А теперь рассмотрим небольшой пример использования этой самой CLR. И так, создаем новый проект:

Microsoft visual c++ 2008. Урок 16. Структуры и указатели. Пример простой CLR-программы.

 В открывшемся окне выберем тип проекта CLR -> Консольное приложение CLR, после ввода имени и нажатия ОК:

Microsoft visual c++ 2008. Урок 16. Структуры и указатели. Пример простой CLR-программы.

у нас откроется заготовка для создания консольного CLR-приложения:

Microsoft visual c++ 2008. Урок 16. Структуры и указатели. Пример простой CLR-программы.

Введем туда наш пример:

// les16_1.cpp: главный файл проекта.

 

#include "stdafx.h"

#include <conio.h>

 

ref struct Message {

    System::String ^sender, ^receiver, ^date;

};

 

using namespace System;

 

 

 

 

int main(array<System::String ^> ^args)

{

    Message ^M=gcnew Message;

    M->sender="the message to all";

    M->date="15.12.2010";

    Console::WriteLine(M->sender);

    Console::WriteLine(M->date);

    Console::WriteLine(L"Привет, мир!");

    _getch();

    return 0;

}

Скомпилируем и запустим программу:

Microsoft visual c++ 2008. Урок 16. Структуры и указатели. Пример простой CLR-программы.

В этом примере мы создали простейшую структуру с использование CLR, заполнили ее поля и вывели их содержимое на экран.


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями   программного продукта "Microsoft Visual C++ Express Edition", авторское право на который принадлежит корпорации Microsoft.. 


 

Последнее обновление ( 16.11.2013 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги