Arytmetyka wskaźników. Załóżmy, że:
int A[]={2,6,5,1,3};
int *p;
p=A;
Jaki jest wynik następujących instrukcji:
1) *p
2) *p+2
3) *(p+2)
4) &p
5) &p+1
6) p
7) A
8) &A[0]
9) &A[0]+3
10) A+3
11) p+(*(p+4)-3)
Proszę napisać funkcję, która alokuje pamięć dla tablicy dwuwymiarowej, zwracając wskaźnik do zaalokowanego obszaru pamięci. Można wykorzystać następująca konstrukcję:
int **a;
a = new int *[10];
Poniższe zadania należy rozwiązać używając wyłącznie arytmetyki wskaźników bez notacji indeksów tablic [].
Proszę napisać funkcję revString(char *s) odwracającą kolejność znaków w tablicy znaków i zwracającą tak zmodyfikowaną tablicę.
char s[10] = "abcde";
char* cptr;
cptr=revString(s);
Proszę napisać funkcję countEven(int*, int) która pobiera wskaźnik do tablicy liczb całkowitych i rozmiar tej tablicy i zwraca liczbę parzystych elementów w tablicy.
Proszę napisać funkcję, która pobiera wskaźnik do tablicy liczb rzeczywistych i rozmiar tej tablicy i zwraca wskaźnik do maksymalnej wartości w tablicy. Jeżeli tablica jest pusta funkcja zwraca wartość NULL.
double* maximum(double* a, int size);
Proszę napisać funkcję myStrLen(char*) zwracającą długość ciągu znaków nie korzystając z funkcji bibliotecznych.
Proszę napisać funkcję contains(char*, char *) zwracającą wartość 1jeżeli pierwszy ciąg znaków zawiera drugi ciąg znaków i zero w przeciwnym przypadku.