JNIは浅いから深いへ_2_C言語基礎

2672 ワード

*意味
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);