私は初心者であるので、私はCで混乱しています。私は1.1が私に最大値を与えていることを知っていて、1.2は私に最大値の可変アドレス[Picture]を与えています。 私の質問は、メインでfindmax関数をどのように呼び出すのですか?関数定義の関数と*関数の違いは何ですか?
int * findMax(int *a,int SIZE){
int i,max=*a,address,add;
for(i=0;i<SIZE;i++){
if(max<*(a+i)){
max=*(a+i);
}
}
//printf("maxium value is %d at index %x",max,&max);
return &max;
}
可能な複製(http://stackoverflow.com/questions/840501/how-do-function-pointers- [C作業ではどのように関数ポインタ?] in-c-work) –
@DiligentKeyPresser:そうは思わない。コードには、関数ポインタではなく、ポインタを返す関数があります。 –
関数*は、ローカル変数*へのポインタを返します。非常に良い考えではありません。 – tofro