[已解决] error: cannot convert `int*' to `int**' for argument `2' to `void print_f(int, int**)'

复制代码
#include "stdio.h"
#include "stdlib.h"
#include "time.h"

void print_f(int n,int *a[]);    
int main(void)
{
int a[50],i;
printf("编号   数据\n");
srand((int)time(0));
for (i=0;i<20;i++)
{
    a[i] = 1 + (int)(200.0*rand()/(RAND_MAX+1.0));
}
print_f(20,a);
return 0;
}
void print_f(int n,int *a[])
{
    int i;
    for (i=0;i<n;i++)
     printf("%2d. %6d\n",i,a[i]);
}
复制代码

函数数组参数,要么int a[ ].,要么int *a

a[ ]本身就充当了指针,数组第一项的地址

如果 *a[ ] 那样就变成参数是一个指向int的指针的数组了

posted @   小能日记  阅读(5603)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示