Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 08 / README.md
blob: cfb39e5baa71003f9052058e8a5d3d759a3c280d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Указатели. Символни низове.

## Въведение в указателите.

   ```c++
   int[] arr = {1, 2, 3};
int* ptr = arr;
```

![enter image description here](https://i.ibb.co/cDcX8st/Untitled-Diagram-drawio-3.png)
   ```c++
	ptr++;
	cout << ptr[0]; //2;
	cout << ptr[1]; //3;
```

 ![enter image description here](https://i.ibb.co/xLLsVK5/Untitled-Diagram-drawio-4.png)

## Въведение в символните низове (стрингове).
	В масивите имаме константен достъп до всеки един елемент.
Достъпът става посредством индекси. Индексацията започва от 0. (защо?)

   ```c++
	char str[] = {'t', 'e', 's', 't', '\0'};
	char str2[] = "test"; //equivalent to str
	char str3[7] = "test"; 
```

![enter image description here](https://i.ibb.co/ZmRwt6R/Untitled-Diagram-drawio-5.png)
Примерна имплементация на:

 - strlen (намиране на дължина на стринг)
 - strcpy (копиране на стринг)
 - strcat (конкатениране на стрингове)
 - strcmp (лексикографско сравнение на стрингове)
 - atoi (преобразуване на стринг в число)
 - търсене в текст
 - броене на конкретен символ в текст