我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

c语言函数与一维数组指针,c语言指向一维数组的指针

大一C语言问题?一维数组与指针函数?

#includestdio.h

创新互联建站服务项目包括道县网站建设、道县网站制作、道县网页制作以及道县网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,道县网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到道县省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

void Input(int *a,int n)

{int i;

for(i=0;in;i++)

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

}

int Max(int *a,int n)

{int i,max=*a;

for(i=1;in;i++)

if(*(a+i)max)max=*(a+i);

return max;

}

int Min(int *a,int n)

{int i,min=*a;

for(i=1;in;i++)

if(*(a+i)min)min=*(a+i);

return min;

}

float Avg(int *a,int n)

{int i,s=0;

for(i=0;in;i++)

s+=*(a+i);

return (float)s/n;

}

int main()

{ int a[10];

Input(a,10);

printf("最低分=%d\n",Min(a,10));

printf("最高分=%d\n",Max(a,10));

printf("平均分=%.1f\n",Avg(a,10));

return 0;

}

C语言关于指向一维数组的指针

你的2个程序是不同的。关键知识是: 普通指针 和 数组指针 的 不同点。

下面是简单的说明。

int *p; 是普通的指针,指向一个地址。

p=a; 让它指向2维数组的始地址。由于数组是按行排列,所以下标[i,j] 的 元素 a[i][j] 排在 i*4+j 位,即: p[i*4+j]

printf("a[%d][%d]=%d\n",i,j, (p[i*4+j])); // 就是 输出 a[i][j]。

=========

int (*p)[4]; 这是数组指针,用于指向4个元素一行的数组。

p= a[0]; 让 它指向 数组 的开始地址。

程序中可以用 p[i][j] 代替 a[i][j] 使用。

printf("a[%d][%d]=%d\n",i,j, p[i][j]); // 就是 输出 a[i][j]。

c语言指针函数和一维数组求解?如图

*加地址变量是取这个地址里的值

数组的p[]就是这个数组p的第一个地址(也就是这个数组的地址),C语言自己会把a当做a[]

所以你传到函数里的*p指针就是a数组的首地址,即a,我一般写程序为了区分常写作a[],

而读上了这个数组的首地址以后*(p+i)就是取这个数组的首地址后的i个地址内的数据,而开的数组的地址是连续的,所以可以输出你数组里的数据,而最后输出的p[i]的操作方式是输出p数组的第i个数,说白了就是两种取数组里值的方法而已

用C语言如何使函数返回值为指向一维数组的指针?

子函数中定义的一般指针变量,在子函数结束之后会被自动释放,如果返回这种局部指针变量,调用者一般是不能正确读到指针地址中的数据的。

因此,如果想在主函数中输出自定义函数中定义的数组,就要在自定义函数中把数组定义为静态数组,然后返回数组名即可。

静态变量的生命周期是整个程序的生命期,从定义开始,直到程序结束,才会被释放。

参考代码:

#include stdio.h

char *get_str(void) //返回值类型为字符指针

{

static char str[100]={0};//静态变量初始化,只有在定义时这次完成,且初始化只执行一次。

sprintf(str,"hello world");

return str ;

}

void main()

{

char *p;

p=get_str();

printf("%s\n", p );

}

C语言【函数 数组 指针】利用指针求一维数组的数据元素之和

#includestdio.h

int main()

{

int array[10];

int i, *p;

for(p=array, i=0; i10; i++)

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

for(p=array, i=0; i10; i++)

printf("%d ", *(p+i));

return 0;

}


分享标题:c语言函数与一维数组指针,c语言指向一维数组的指针
文章起源:http://mswzjz.cn/article/dsisehh.html

其他资讯