.


:




:

































 

 

 

 





: C, C++ new.

C .
void * malloc(size_t size);
malloc size .
int *pi = (int *) malloc(N * sizeof(int));
void *calloc(size_t nitem, size_t size);
calloc (nitems*size), .

void *realloc(void*ptr, size_t size);
realloc , ptr, size .

void free(void*ptr);
free , ptr. <stdlib.h>.

N int
int *pi = (int *) malloc(N * sizeof(int));
int *pi = new int[N];

, ,
free(pi); delete [] pi;

. int a[10][10];
int (*a)[10];

. int a[10][10];
int (*a)[10];

int **a;

M N.
1. malloc :
int **mas;
mas = (int **) malloc(M * sizeof(int *));
for (int i=0; i<N: i++)
mas[i] = (int *) malloc(N * sizeof(int));

:
for (i=0; i<N: i++)
free(mas[i]);
free(mas);

2. new delete :
int **mas = new int *[M]
for (int i=0; i<N; i++)
mas[i] = new int [N];

for (int i=0; i<N; i++)
delete [] mas[i];
delete [] mas;

 

-


int *pa=a;

pa - a[0],
*(pa+1) a[1]
a+i - a[i],
*(pa+i) - a[i].

, .

, , .

- , pa=a pa++.

, a=pa a++ .

 

-

- :

-, ;
int function (int *a, int n) {} - ;
int function (int a[20]) {} - .
int function (int a[], int n) {}

, . , . :
;
int function (int ma[100][100]){}
int Ma[100][100], n*m.

, .. ; int func (int ma[][100]) {} =100

, ;
int func (int *ma) {} , .

, . int func (int **ma) {} - , int **ma . n*m, <= n*m <= n*m.





:


: 2016-07-29; !; : 500 |


:

:

, .
==> ...

1561 - | 1443 -


© 2015-2024 lektsii.org - -

: 0.008 .