Android 下 JNI 开发

  1. 动态创建数组-15

malloc(memory allocate) 函数

realloc  re- allocate 重新分配

动态数组的创建步骤

  1、让用户输入一个长度

  2、根据长度,分配内存空间

  3、让用户把数组中的元素依次的赋值;

  4、接收用户输入扩展数组长度

  5、根据扩展的长度重新分配空间

  6、把扩展长度的元素让用户赋值;

  7、输出数组

 

 

 

  malloc(长度);分配内存

 

  realloc(数组,长度)重新分配空间 

 

范例如下:

 main()

{

    

  //1、让用户输入一个长度

   printf("请输入数组的长度:");

   int length;

   scanf("%d",&length);

   printf("你输入的长度为:%d\n",length);

  //2、根据长度,分配内存空间

  // int* == int iArray[]

  int* iArray = malloc(length * 4);//分配出指定元素的总空间:3个元素,3 * 4 = 12;

  //3、让用户把数组中的元素依次的赋值;

  int i;

  for(i = 0;i < length;i++){

          printf("请输入第[%d]元素的值:",i);

          scanf("%d",iArray + i);

  }    

  //4、接收用户输入扩展数组长度

    printf("请输入扩展的长度:");

    int supportLength ;   

    scanf("%d",&supportLength);

    printf("扩展的长度为:%d\n",supportLength);

   

  //5、根据扩展的长度重新分配空间

    iArray  = realloc(iArray,(length + supportLength) * 4);

   

  //6、把扩展长度的元素让用户赋值;

  for(i=length;i<(length + supportLength);i++){

        printf("请输入扩展第[%d]元素的值:",i); 

        scanf("%d",iArray + i);                

  }                    

 

  //7、输出数组

     for(i = 0;i < length + supportLength;i++){

            

              printf("iArray[%d]=%d\n",i,*(iArray +i));

            

      } 

 

     system("pause");     

      

}    

 

运行如图:

16、函数的指针-5

 

1.定义int (*pf)(int x, int y);

2.赋值 pf = add;

3.引用 pf(3,5);

 

 

范例代码:

#include<stdio.h>

#include<stdlib.h>

/**

  函数指针

 

*/

 

int add(int x,int y){

   return x + y;    

main()

{    

     //函数指针定义

     int (*pf)(int x,int y);

     //函数指针赋值

     pf =  add;

     //调用函数指针

     int result =  pf(30,10);    

     printf("ressult=%d\n",result);   

     system("pause");          

}     

运行结果如图:

 

 

 

本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值