387.05K
Категория: ПрограммированиеПрограммирование

Указатели

1.

Указатели
int x=34;
int* xptr;
xptr = &x;
int y = x;
y = *xptr;
*xptr = 10;
char* cp;
double* dp;
int x = 10;
int y = 10;
int* xptr = &x;
int* yptr = &y;
if (xptr == yptr)
cout << "Указатели равны" << endl;
else
cout << "Указатели не равны" << endl;
if (*xptr == *yptr)
cout << "Значения равны" << endl;
else
cout << "Значения не равны" << endl;

2.

Строки и литералы
char str [20];
"Это строка"
"0123456789"
"*"
char alldigits [ ] = "0123456789";
str[0] = 'H';
str[1] = 'e';
str [2] = 'l';
str [3] = 'l';
str [4] = 'o';
str [5] = '\0';
char* message = "Сообщение программы";

0x001f5
3a4

'0'
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'\0'
char[]
char
char
char
char
char
char
char
char
char
char
char
alldigits
alldigits[0]
alldigits[1]

3.

Адресная арифметика
char str[ ] = "Hello";
char* ptr = str;
ptr++;
int a = 10;
int* pa = &a;
pa++;

4.

Массивы
int days[12];
days[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
days[0] = 31;
// январь
days[1] = 28;
// февраль
days[2] = 31;
// март
days[3] = 30;
// апрель
days[4] = 31;
// май
days[5] = 30;
// июнь
days[6] = 31;
// июль
days[7] = 31;
// август
days[8] = 30;
// сентябрь
days[9] = 31;
// октябрь
days[10] = 30;
// ноябрь
days[11] = 31;
// декабрь

0x0133f7b8
int[]
days

31
28
31
30
int
int
int
int
days[0]
days[1]
days[2]
days[3]
31

int
int
days[4]

for (int i = 0; i < 12; i++)
{
days[i]+<<
' '
; ' ;
cout << *(days
i)'<<
}

5.

int m[3][5];
i
0
Массивы
j
0
1
2
3
4
English     Русский Правила