JNIは浅いから深いへ_2_C言語基礎
2672 ワード
*意味
印刷データ型
3、ポインタ
4、ポインタと配列
5、動的分配メモリ
6、関数ポインタ
1. 3*5
2. int * p;// p , int
3. ,
// p *p p
印刷データ型
%d - int
%ld – long int
%c - char
%f - float
%lf – double
%x – int long int short int
%o -
%s –
3、ポインタ
.
int * p; //p , int * p int
//int * p; *p
// int * p; : p , int * ,p int*
// int * int
int i = 3;
p = &i;
/*1. p i , p i
2. p i,i p, p i , i p
3. , *
:
p , p i p i
*p i
*p i
i *p
*p p */
j = *p; // j = i;
printf("i = %d, j = %d
", i, j);
4、ポインタと配列
, ,
int a[5] //a ,5 ,
int a[3][4] // 3 4 a[0][0]
Int b[5]
A=b ;//
,
int a[5];
int a[3][4];
printf("%#X
",&a[0]);
printf("%#X
",&a);
p p[i] *(p+i)
5、動的分配メモリ
1. ,
.
int a[5];
int len;
int a[len];//error
2. ,
,
,
3.
4.A A ,a ,a
# include <stdio.h>
# include <malloc.h> // malloc memory( ) allocate( )
int main(void)
{
int i = 5; // 4 11
int * p = (int *)malloc(4); //12
/*
1. malloc , malloc.h
2. malloc ,
3. 4 4
4. malloc
5. 12 8 , p 4 , p 4
6. p , p
*/
*p = 5; //*p int , *p 11 i
free(p); //freep(p) p p , ,p p
printf(" !
");
return 0;
}
6、関数ポインタ
1. int (*pf)(int x, int y);
2. pf = add;
3. pf(3,5);