Алгоритмы и структуры данных на С++. Аксёнова Е.А - 13 стр.

UptoLike

1.2. Массивы и указатели 13
p=65520, *p=100, &p=65518
p=65522, *p=200, &p=65518
p=65524, *p=300, &p=65516
p=65526, *p=0 , &p=65516
На рисунке 1.4 изображен массив a (значения элементов и их ад-
реса).
Рис. 1.4
Теперь вычислим сумму элементов массива, состоящего из n эле-
ментов, с помощью указателя x. Заметим, что работа с динамически-
ми (состоящими из переменного числа элементов) массивами в языках
С и C++ не допускается. Для работы с переменным числом элемен-
тов надо использовать указатели и операцию динамического (во время
выполнения программы) выделения памяти new. Существует библио-
тека STL (Standard Template Library), в которой реализован класс
vector<>, позволяющий работать с переменным числом элементов.
Далее будет показано, что в языке C++ можно вводить новые типы
данных и операции.
#include <stdio.h>
int main()
{
int *x,n,s;
scanf ("%d", &n);
s=0;
x=new int[n];
for(int i=0; i<n; i++)
{
scanf("%d", x+i);
s=s+ *(x+i);
}
printf("s=%d", s);
1.2.   Массивы и указатели                                     13


       p=65520,   *p=100,   &p=65518
       p=65522,   *p=200,   &p=65518
       p=65524,   *p=300,   &p=65516
       p=65526,   *p=0 ,    &p=65516
   На рисунке 1.4 изображен массив a (значения элементов и их ад-
реса).




                               Рис. 1.4

   Теперь вычислим сумму элементов массива, состоящего из n эле-
ментов, с помощью указателя x. Заметим, что работа с динамически-
ми (состоящими из переменного числа элементов) массивами в языках
С и C++ не допускается. Для работы с переменным числом элемен-
тов надо использовать указатели и операцию динамического (во время
выполнения программы) выделения памяти new. Существует библио-
тека STL (Standard Template Library), в которой реализован класс
vector<>, позволяющий работать с переменным числом элементов.
Далее будет показано, что в языке C++ можно вводить новые типы
данных и операции.

#include 
int main()
 {
    int *x,n,s;
    scanf ("%d", &n);
    s=0;
    x=new int[n];
    for(int i=0; i