在主函數(shù)中定義

目前創(chuàng)新互聯(lián)建站已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、潼關(guān)網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
input里面 把這兩個定義的傳參。
addarrays 里面 同樣傳這兩個數(shù)組做參數(shù)。
在addarrays里面 循環(huán)累加就好了。
數(shù)組長度可以用宏定義 。
void fun(int a[],int n)
{
int *p;
int i;
p=a;
for(i=0;in;i++)
*(p+i)+=2;
}
驗證:
#include "stdio.h"
void fun(int a[],int n)
{
int *p;
int i;
p=a;
for(i=0;in;i++)
*(p+i)+=2;
}
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
printf("The original arry a:\n");
for(int i=0;i10;i++)
printf("%d,",a[i]);
printf("\n");
fun(a,10);
printf("The final arry a:\n");
for(i=0;i10;i++)
printf("%d,",a[i]);
}
輸出結(jié)果:
The original arry a:
1,2,3,4,5,6,7,8,9,10
The final arry a:
3,4,5,6,7,8,9,10,11,12
實現(xiàn)
一、意思不同
*(p+2) 表示先將地址后移兩位,再取地址內(nèi)容。*p+2 表示先取當(dāng)前地址內(nèi)容,然后對內(nèi)容加2。一個是對地址的操作,一個是對內(nèi)容的操作,完全不同。
二、用法不同
例如:
有數(shù)組a:
1 2 3 4 5
*p=a;
那么:
*(p+2)=3,*p+2=3
*p就等于1.*(p+X)就是將指針移x的位置。
三、用途不同
1、*p[ ]
在main函數(shù)的參數(shù)中有使用到,其中的 char *argv[]的argv就是一個指針數(shù)組,用來存儲函數(shù)調(diào)用時傳進(jìn)來可變個數(shù)的參數(shù)
int main(int argc, char *argv[])
{
something you want to do; ? ?return 0;
}
2、 (*p)[ ]可以作為二維數(shù)組的引用
數(shù)組的下標(biāo)是從0開始的,并非從1
因此假設(shè)定義數(shù)組int a[3],那么有效的數(shù)組元素為a[0] a[1] a[2]
樓組的代碼里面的數(shù)組從1開始使用,輸入3*3的數(shù)組會導(dǎo)致越界,踩內(nèi)存發(fā)生錯誤
void?fun(int?arr[M][N])
{
int?i,j;
for(i=1;i=M;i++)?//應(yīng)該是for(i=0;iM;i++)
for(j=1;j=N;j++)
scanf("%d",arr[i][j]);
}
其他也按照這個修改就可以了
本文名稱:c語言函數(shù)數(shù)組加2 c語言兩個數(shù)組求和
分享鏈接:http://chinadenli.net/article28/hipjjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、響應(yīng)式網(wǎng)站、定制網(wǎng)站、定制開發(fā)、動態(tài)網(wǎng)站、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)