A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C_Tutorial%2FPointer%2Fconst_pointer</id>
		<title>C Tutorial/Pointer/const pointer - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C_Tutorial%2FPointer%2Fconst_pointer"/>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C_Tutorial/Pointer/const_pointer&amp;action=history"/>
		<updated>2026-04-18T07:43:51Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C_Tutorial/Pointer/const_pointer&amp;diff=3458&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C_Tutorial/Pointer/const_pointer&amp;diff=3458&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C_Tutorial/Pointer/const_pointer&amp;diff=3459&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C_Tutorial/Pointer/const_pointer&amp;diff=3459&amp;oldid=prev"/>
				<updated>2010-05-25T10:32:19Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A non-constant pointer to constant data==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void printCharacters( const char *sPtr );&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char string[] = &amp;quot;print characters of a string&amp;quot;; &lt;br /&gt;
   printf( &amp;quot;The string is:\n&amp;quot; );&lt;br /&gt;
   printCharacters( string );&lt;br /&gt;
   printf( &amp;quot;\n&amp;quot; );&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
void printCharacters( const char *sPtr )&lt;br /&gt;
{&lt;br /&gt;
   for ( ; *sPtr != &amp;quot;\0&amp;quot;; sPtr++ ) {&lt;br /&gt;
      printf( &amp;quot;%c&amp;quot;, *sPtr );&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;The string is:&lt;br /&gt;
print characters of a string&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attempting to modify a constant pointer to non-constant data==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;ptr is a constant pointer to an integer that can be modified through ptr.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;ptr always points to the same memory location.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   int x;&lt;br /&gt;
   int y;&lt;br /&gt;
   int * const ptr = &amp;amp;x; &lt;br /&gt;
   *ptr = 7; /* allowed: *ptr is not const */&lt;br /&gt;
  // ptr = &amp;amp;y; /* error: ptr is const; cannot assign new address */&lt;br /&gt;
   return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attempting to modify data through a non-constant pointer to constant data.==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;xPtr cannot be used to modify the value of the variable to which it points.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void f( const int *xPtr );&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   int y;       &lt;br /&gt;
   f( &amp;amp;y );     &lt;br /&gt;
   return 0;    &lt;br /&gt;
}&lt;br /&gt;
void f( const int *xPtr )&lt;br /&gt;
{&lt;br /&gt;
   //*xPtr = 100;  /* error: cannot modify a const object */&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a non-constant pointer to non-constant data==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;ctype.h&amp;gt;&lt;br /&gt;
void convertToUppercase( char *sPtr ); /* prototype */&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   char string[] = &amp;quot;characters and abcde&amp;quot;;&lt;br /&gt;
   printf( &amp;quot;The string before conversion is: %s&amp;quot;, string );&lt;br /&gt;
   convertToUppercase( string );&lt;br /&gt;
   printf( &amp;quot;\nThe string after conversion is: %s\n&amp;quot;, string ); &lt;br /&gt;
          &lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
void convertToUppercase( char *sPtr )&lt;br /&gt;
{&lt;br /&gt;
   while ( *sPtr != &amp;quot;\0&amp;quot; ) {&lt;br /&gt;
      if ( islower( *sPtr ) ) {&lt;br /&gt;
         *sPtr = toupper( *sPtr );&lt;br /&gt;
      }&lt;br /&gt;
      ++sPtr;&lt;br /&gt;
   } &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;The string before conversion is: characters and abcde&lt;br /&gt;
The string after conversion is: CHARACTERS AND ABCDE&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>