. char, .. , .
, , ´\0´ ( , -). k , k +1. - .
, char s [7]; , , -.
- .
( ), , . :
har S[ ] = ;
19 18 19- -.
´\0´ . .
´\0´ , , , :
char str[10] ={V, a, s, j, , \0};
. .
, :
char *x;
x = "";
x = (i>0)? "": (i<0)? "": "";
, .
char *str = "" , , , , . , .
( ) ( ).
s 1 s 2
char s1[25], s2[25];
for (int i = 0; i <= strlen(s1); i++)
s2[i] = s1[i];
strlen, , - ( ). , .
:
har s1[51];
s1 = Minsk;
, s 1 .
, ,
|
|
strcpy (s1, Minsk);
, , , :
scanf ( ) % s ( & ID );
gets , . Enter.
.
printf puts .
printf , puts . :
char Str[30];
printf( : \n);
scanf(%s, Str);
puts( );
gets(Str);
, , , string.h.
.
strlen (S) ( ), , :
char *S1 = !\0, S2[] = Ж!;
printf( %d, %d., strlen(S1), strlen(S2));
:
6, 10.
strcpy (S 1, S 2) S 2 S 1.
strcat (S 1, S 2) S 2 S 1 , S 1, S 2 . , S 1, S2.
int strcmp (S 1, S 2) S 1 S 2 <0, S 1< S 2; >0, S 1> S 2; =0, , .. .
stdlib. h. .
S :
: int atoi (S);
: long atol (S);
: double atof (S);
0.
V S:
: itoa (V, S, kod);
: ltoa (V, S, kod);
2 £ kod £ 36, kod = 10.
, s , ,
char s[81], c;
...
for(i = j = 0; s[i]!= '\0'; i++)
if(s[i]!= c) s[j++] = s[i];
s[j]='\0';
...
__________________________________________________________________
Visual C++ 6.0 . . 16.3.
__________________________________________________________________
, , .
int *a[10], y;
|
|
a y, : a [1]=& y;
y , * a [1].
. (), . * . * . . :
int a=5;
int *p1=&a;
int **pp1=&p1;
int ***ppp1=&pp1;
, 10, :
a=10; *p1=10; **pp1=10; ***ppp1=10;
, , . :
*p1 ~ p1[0];
**pp1 ~ pp1[0][0];
***ppp1 ~ ppp1[0][0][0].
, , .
:
ID [ 1][ 2][ N ] =
{ { },
{ },
};
.
, (. ).
.
, :
int m [3][4];
( : int ** m;).
m [3][4]; , . :
- | m [0] | m [0][0] | m [0][1] | m [0][2] | m [0][3] | ||
m [1] | m [1][0] | m [1][1] | m [1][2] | m [1][3] | |||
m [2] | m [2][0] | m [2][1] | m [2][2] | m [2][3] |
() ()
. 10.1. m 3×4
m [1] m [0]+4* sizeof (int), .. .
:
#include <stdio.h>
void main()
{
int x0[4] = { 1, 2, 3,4}; //
int x1[4] = {11,12,13,14}; //
int x2[4] = {21,22,23,24};
int *m[3] = {x0, x1, x2,}; //
int i,j;
for (i=0; i<3; i++) {
printf("\n C %d) ", i+1);
for (j=0; j<4; j++)
printf("%3d", m[ i ] [ j ]);
}
}
:
C 1) 1 2 3 4
C 2) 11 12 13 14
C 3) 21 22 23 24
:
#include <stdio.h>
void main()
{
int i, j;
int m[3][4] = { { 1, 2, 3, 4}, {11,12,13,14}, {21,22,23,24} };
for (i=0; i<3; i++) {
printf("\n %2d)", i+1);
for (j=0; j<4; j++)
printf(" %3d",m[ i ] [ j ]);
}
}
, .. , m
int m[3][4] = {1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24};
m [3][4] m [12] , .
|
|
, .
( ) ( ).
m [ i ][ j ] , *(*(m + i)+ j).
.
. . , , X n 1´ n 2 :
(0,0), (0,1), (0,2),... (0, n 21),..., (1,0), (1,1), (1,2),... (1, n 21),..., (n 11,0), (n 11,1), (n 11,2),..., (n 11, n 21).
, .
:
K (i, j) = n 2* i + j;
i = 0,1,2,...,(n 11); j = 0,1,2,...,(n 21); j .
A (n, m) :
N 1 = K (i, j) = m * i + j,
i =0,1,..., n 1; j =0,1,..., m 1.
:
A (i, j) B (K (i, j)) = B (N 1),
B N 1 = n * m.
, A (2,3) :
(0,0) | (0,1) | (0,2) | (1,0) | (1,1) | (1,2) | ; |
. |
:
i = 0, j = 0 N 1 = 3*0+0 = 0 B (0)
i = 0, j = 1 N 1 = 3*0+1 = 1 B (1)
i = 0, j = 2 N 1 = 3*0+2 = 2 B (2)
i = 1, j = 0 N 1 = 3*1+0 = 3 B (3)
i = 1, j = 1 N 1 = 3*1+1 = 4 B (4)
i = 1, j = 2 N 1 = 3*1+2 = 5 B (5)
(n 1, n 2, n 3):
K (i, j, k) = n 3* n 2* i + n 2* j + k,
i = 0,1,2,...,(n 11); j = 0,1,2,...,(n 21);); k = 0,1,2,...,(n 31); k .
(n 1* n 2* n 3)* sizeof (type). Y (0,1,..., n 1* n 2* n 3), X Y:
X (i, j, k) Y (K (i, j, k)).
, .