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%2B%2B_Tutorial%2FArray%2Farray_pointer</id>
		<title>C++ Tutorial/Array/array pointer - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2FArray%2Farray_pointer"/>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/Array/array_pointer&amp;action=history"/>
		<updated>2026-04-17T19:01:45Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/Array/array_pointer&amp;diff=2908&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%2B%2B_Tutorial/Array/array_pointer&amp;diff=2908&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:17Z</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%2B%2B_Tutorial/Array/array_pointer&amp;diff=2909&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%2B%2B_Tutorial/Array/array_pointer&amp;diff=2909&amp;oldid=prev"/>
				<updated>2010-05-25T10:31:04Z</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;==an array of pointers to strings==&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;iostream&amp;gt;  &lt;br /&gt;
  using namespace std;  &lt;br /&gt;
  const int DAYS = 7;            &lt;br /&gt;
    &lt;br /&gt;
  int main(){                           &lt;br /&gt;
     char* arrptrs[DAYS] = { &amp;quot;Sunday&amp;quot;, &amp;quot;Monday&amp;quot;, &amp;quot;Tuesday&amp;quot;,  &lt;br /&gt;
                             &amp;quot;Wednesday&amp;quot;, &amp;quot;Thursday&amp;quot;,  &lt;br /&gt;
                             &amp;quot;Friday&amp;quot;, &amp;quot;Saturday&amp;quot;  };  &lt;br /&gt;
    &lt;br /&gt;
     for(int j=0; j&amp;lt;DAYS; j++)&lt;br /&gt;
        cout &amp;lt;&amp;lt; arrptrs[j] &amp;lt;&amp;lt; endl;  &lt;br /&gt;
     return 0;  &lt;br /&gt;
  }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==array accessed with array notation==&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;iostream&amp;gt;  &lt;br /&gt;
  using namespace std;  &lt;br /&gt;
    &lt;br /&gt;
  int main(){&lt;br /&gt;
     int intarray[5] = { 31, 54, 77, 52, 93 };  &lt;br /&gt;
    &lt;br /&gt;
     for(int j=0; j&amp;lt;5; j++)  &lt;br /&gt;
        cout &amp;lt;&amp;lt; intarray[j] &amp;lt;&amp;lt; endl;&lt;br /&gt;
     return 0;  &lt;br /&gt;
  }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==array accessed with pointer==&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;iostream&amp;gt;  &lt;br /&gt;
  using namespace std;  &lt;br /&gt;
    &lt;br /&gt;
  int main(){  &lt;br /&gt;
     int intarray[] = { 31, 54, 77, 52, 93 }; &lt;br /&gt;
     int* ptrint;                             &lt;br /&gt;
     ptrint = intarray;                       &lt;br /&gt;
    &lt;br /&gt;
     for(int j=0; j&amp;lt;5; j++)                     &lt;br /&gt;
        cout &amp;lt;&amp;lt; *(ptrint++) &amp;lt;&amp;lt; endl;          &lt;br /&gt;
     return 0;  &lt;br /&gt;
  }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==array accessed with pointer notation==&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;iostream&amp;gt;  &lt;br /&gt;
  using namespace std;  &lt;br /&gt;
    &lt;br /&gt;
  int main(){&lt;br /&gt;
     int intarray[5] = { 31, 54, 77, 52, 93 };  &lt;br /&gt;
    &lt;br /&gt;
     for(int j=0; j&amp;lt;5; j++) &lt;br /&gt;
        cout &amp;lt;&amp;lt; *(intarray+j) &amp;lt;&amp;lt; endl; &lt;br /&gt;
     return 0;  &lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Array pointer==&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;iostream&amp;gt; &lt;br /&gt;
using namespace std; &lt;br /&gt;
 &lt;br /&gt;
int main() &lt;br /&gt;
{ &lt;br /&gt;
  int *i, j[10]; &lt;br /&gt;
  double *f, g[10]; &lt;br /&gt;
  int x; &lt;br /&gt;
 &lt;br /&gt;
  i = j;  &lt;br /&gt;
  f = g;  &lt;br /&gt;
 &lt;br /&gt;
  for(x=0; x&amp;lt;10; x++)  &lt;br /&gt;
    cout &amp;lt;&amp;lt; i+x &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; f+x &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;     &lt;br /&gt;
 &lt;br /&gt;
  return 0; &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;0x22ff30 0x22fed0&lt;br /&gt;
0x22ff34 0x22fed8&lt;br /&gt;
0x22ff38 0x22fee0&lt;br /&gt;
0x22ff3c 0x22fee8&lt;br /&gt;
0x22ff40 0x22fef0&lt;br /&gt;
0x22ff44 0x22fef8&lt;br /&gt;
0x22ff48 0x22ff00&lt;br /&gt;
0x22ff4c 0x22ff08&lt;br /&gt;
0x22ff50 0x22ff10&lt;br /&gt;
0x22ff54 0x22ff18&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Index a pointer as if it were an array==&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;iostream&amp;gt; &lt;br /&gt;
#include &amp;lt;cctype&amp;gt; &lt;br /&gt;
using namespace std; &lt;br /&gt;
 &lt;br /&gt;
int main() &lt;br /&gt;
{ &lt;br /&gt;
  char *p; &lt;br /&gt;
  int i; &lt;br /&gt;
  char str[80] = &amp;quot;This Is A Test&amp;quot;; &lt;br /&gt;
 &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Original string: &amp;quot; &amp;lt;&amp;lt; str &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;; &lt;br /&gt;
 &lt;br /&gt;
  p = str;&lt;br /&gt;
 &lt;br /&gt;
  for(i = 0; p[i]; i++) { &lt;br /&gt;
    if(isupper(p[i])) &lt;br /&gt;
      p[i] = tolower(p[i]); &lt;br /&gt;
    else if(islower(p[i])) &lt;br /&gt;
      p[i] = toupper(p[i]); &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Inverted-case string: &amp;quot; &amp;lt;&amp;lt; str; &lt;br /&gt;
 &lt;br /&gt;
  return 0; &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Original string: This Is A Test&lt;br /&gt;
Inverted-case string: tHIS iS a tEST&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Output array address by using array pointer==&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;assert.h&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
char array[10] = &amp;quot;012345678&amp;quot;;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    for (int i = 0; i &amp;lt; 10; ++i) {&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; std::hex;&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; &amp;quot;&amp;amp;array[i]=0x&amp;quot; &amp;lt;&amp;lt;  reinterpret_cast&amp;lt;int&amp;gt;(&amp;amp;array[i]) &amp;lt;&amp;lt;&lt;br /&gt;
                     &amp;quot; (array+i)=0x&amp;quot; &amp;lt;&amp;lt; reinterpret_cast&amp;lt;int&amp;gt;(array+i) &amp;lt;&amp;lt;&lt;br /&gt;
                     &amp;quot; array[i]=0x&amp;quot; &amp;lt;&amp;lt;  static_cast&amp;lt;int&amp;gt;(array[i]) &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;,&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; std::dec;&lt;br /&gt;
    }&lt;br /&gt;
    return (0);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;&amp;amp;array[i]=0x43d000 (array+i)=0x43d000 array[i]=0x30&lt;br /&gt;
&amp;amp;array[i]=0x43d001 (array+i)=0x43d001 array[i]=0x31&lt;br /&gt;
&amp;amp;array[i]=0x43d002 (array+i)=0x43d002 array[i]=0x32&lt;br /&gt;
&amp;amp;array[i]=0x43d003 (array+i)=0x43d003 array[i]=0x33&lt;br /&gt;
&amp;amp;array[i]=0x43d004 (array+i)=0x43d004 array[i]=0x34&lt;br /&gt;
&amp;amp;array[i]=0x43d005 (array+i)=0x43d005 array[i]=0x35&lt;br /&gt;
&amp;amp;array[i]=0x43d006 (array+i)=0x43d006 array[i]=0x36&lt;br /&gt;
&amp;amp;array[i]=0x43d007 (array+i)=0x43d007 array[i]=0x37&lt;br /&gt;
&amp;amp;array[i]=0x43d008 (array+i)=0x43d008 array[i]=0x38&lt;br /&gt;
&amp;amp;array[i]=0x43d009 (array+i)=0x43d009 array[i]=0x0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==passing array as a constant pointer==&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;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
void increase(int* const array, const int NUM_ELEMENTS);&lt;br /&gt;
void display(const int* const array, const int NUM_ELEMENTS);&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    const int NUM_SCORES = 3;&lt;br /&gt;
    int highScores[NUM_SCORES] = {5, 3, 2};&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;passing array as a constant pointer.\n\n&amp;quot;;&lt;br /&gt;
    increase(highScores, NUM_SCORES);&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;passing array as a constant pointer to a constant.\n&amp;quot;;&lt;br /&gt;
    display(highScores, NUM_SCORES);&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
void increase(int* const array, const int NUM_ELEMENTS)&lt;br /&gt;
{&lt;br /&gt;
    for (int i = 0; i &amp;lt; NUM_ELEMENTS; ++i)&lt;br /&gt;
        array[i] += 500;&lt;br /&gt;
}&lt;br /&gt;
void display(const int* const array, const int NUM_ELEMENTS)&lt;br /&gt;
{&lt;br /&gt;
    for (int i = 0; i &amp;lt; NUM_ELEMENTS; ++i)&lt;br /&gt;
        cout &amp;lt;&amp;lt; array[i] &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Relationship between pointers and arrays==&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;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
void increase(int* const array, const int NUM_ELEMENTS);&lt;br /&gt;
void display(const int* const array, const int NUM_ELEMENTS);&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    const int NUM_SCORES = 3;&lt;br /&gt;
    int highScores[NUM_SCORES] = {5, 3, 2};&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;using array name as a constant pointer.\n&amp;quot;;&lt;br /&gt;
    cout &amp;lt;&amp;lt; *highScores &amp;lt;&amp;lt; endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; *(highScores + 1) &amp;lt;&amp;lt; endl;&lt;br /&gt;
    cout &amp;lt;&amp;lt; *(highScores + 2) &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;passing array as a constant pointer.\n\n&amp;quot;;&lt;br /&gt;
    increase(highScores, NUM_SCORES);&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;passing array as a constant pointer to a constant.\n&amp;quot;;&lt;br /&gt;
    display(highScores, NUM_SCORES);&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
void increase(int* const array, const int NUM_ELEMENTS)&lt;br /&gt;
{&lt;br /&gt;
    for (int i = 0; i &amp;lt; NUM_ELEMENTS; ++i)&lt;br /&gt;
        array[i] += 500;&lt;br /&gt;
}&lt;br /&gt;
void display(const int* const array, const int NUM_ELEMENTS)&lt;br /&gt;
{&lt;br /&gt;
    for (int i = 0; i &amp;lt; NUM_ELEMENTS; ++i)&lt;br /&gt;
        cout &amp;lt;&amp;lt; array[i] &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Use a 2-D array of pointers to create a dictionary==&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;iostream&amp;gt; &lt;br /&gt;
#include &amp;lt;cstring&amp;gt; &lt;br /&gt;
using namespace std; &lt;br /&gt;
  &lt;br /&gt;
int main() { &lt;br /&gt;
 &lt;br /&gt;
  char *dictionary[][2] = { &lt;br /&gt;
    &amp;quot;A&amp;quot;, &amp;quot;AA&amp;quot;, &lt;br /&gt;
    &amp;quot;B&amp;quot;, &amp;quot;BB&amp;quot;, &lt;br /&gt;
    &amp;quot;C&amp;quot;, &amp;quot;CC&amp;quot;, &lt;br /&gt;
    &amp;quot;D&amp;quot;, &amp;quot;DD&amp;quot;, &lt;br /&gt;
    &amp;quot;E&amp;quot;, &amp;quot;EE&amp;quot;, &lt;br /&gt;
    &amp;quot;&amp;quot;, &amp;quot;&amp;quot; &lt;br /&gt;
  }; &lt;br /&gt;
  char word[80]; &lt;br /&gt;
  int i; &lt;br /&gt;
 &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Enter word: &amp;quot;; &lt;br /&gt;
  cin &amp;gt;&amp;gt; word; &lt;br /&gt;
 &lt;br /&gt;
  for(i = 0; *dictionary[i][0]; i++) { &lt;br /&gt;
    if(!strcmp(dictionary[i][0], word)) { &lt;br /&gt;
      cout &amp;lt;&amp;lt; dictionary[i][1] &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;; &lt;br /&gt;
      break; &lt;br /&gt;
    } &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  if(!*dictionary[i][0]) &lt;br /&gt;
    cout &amp;lt;&amp;lt; word &amp;lt;&amp;lt; &amp;quot; not found.\n&amp;quot;; &lt;br /&gt;
 &lt;br /&gt;
  return 0; &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Enter word: word&lt;br /&gt;
word not found.&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>