// int
int i1= 1, i2= 2;
// -
int* const pInt 1 =&i 1;
// -
pInt 1 =&i 2; //
// pInt 1
i 1 =1 2;
, -, . . , k ar ar+k. k . *(ar+k) k.
k - , int. p Type, k int p+k p-k
p+k*sizeof (Type) p-k*sizeof (Type).
, p+k Type, p k . p-k Type, p k .
, ++ -- . ar ++ ar , ar+1 ar-1.
, ar+k ar+k+j ar k k+j, j>0, (ar+k+j) - (ar+k) j int. (ar+k) +x= (ar+k+j).
p1 p2 . . , , p1 p2, p1<p2 .
c , []. p , - int. p [ i ] Type, p+i. p [ i ] * (p+i) . , p , p [ i ] - i. , , int, .
4.5 -
int A []={ 0, 1, 2, 3, 4 };
int i=1;
int iNum=A [0]+ A [ i ]+ A [(int) 1.2+2 ]+*(A+3);
4.3
. . . .
, . , . . , . .
|
|
4.6 -
#include <stdio.h>
double Aver (double*, int);
void main (void) {
const int Dim = 4;
double s;
double dfMassiv []={ 0.1, 0.2, 0.3, 0.4 };
s=Aver (dfMassiv, Dim);
printf ("%f\n", s);
}
// Aver ()
double Aver (
//
double* pA,
//
int n) {
//
double sum= 0.0;
//
for (int i=0; i<n; i ++)
sum +=*(pA+i);
// s+=pA [ i ];
//
return sum/n;
}
4.7 -
#include <stdio.h>
int IndexMinItem (int*,int);
void SortMin (int*,int);
void PrintAr (int*,int,int);
void main (){
const int Dim=9;
int a []={14,4,9,2,0,5,13,9,1};
SortMin (a,Dim);
PrintAr (a,Dim,Dim);
}
int IndexMinItem (int* Ar,int Dim){
int min=*Ar;
int index=0;
for (int i=1; i<Dim; i++){
if (Ar [ i ] <min){
min=Ar [ i ];
index=i;
}
}
return index;
}
void SortMin (int* Ar, int Dim){
int index;
int temp;
for (int i=0; i<Dim-1; i++){
index=IndexMinItem (Ar+i,Dim-i) +i;
temp=Ar [ index ];
Ar [ index ] =Ar [ i ];
Ar [ i ] =temp;
}
}
void PrintAr (int* Ar, int Dim, int w){
int h=Dim/w;
for (int i=0; i<h; i ++){
for (int j=0; j<w; j ++)
printf ("%d ", Ar [ i*w+j ]);
printf ("\n");
}
w=Dim%w;
for (int j=0; j<w; j ++)
printf ("%d ", Ar [ h*w+j ]);
printf ("\n");
}
4.4
. . new delete. .
. . , , . , . . .
, , . , , (, ). . , (). . , . .
|
|
. malloc.h stdlib.h. malloc ()
void* malloc (
//
unsigned int uSize);
uSize . . void* , malloc () . . NULL void* , , .