指针与数组

2020-07-02  本文已影响0人  爱生活_更爱挺自己

指针与数组

传入函数的数组组成了什么?

int isPrime(int x, int knownPrimes[], int numberOfKnoenPrimes)
{
    int ret = 1;
    int i;
    for ( i=0; i<numberOfKnoenPrimes; i++){
        if ( x % knownPrimes[i] == 0){
            ret = 0;
            break;
        }
    }
    return ret;
}
#include<stdio.h>

void minmax(int a[], int len, int *max, int *min);

int mian(void)
{
    int a[] = {1,2,3,4,5,6,7,8,9,12,13,14,16,17,21,23,55,};
    int min,max;
    printf("main sizeof(a)=%lu,"sizeof(a));
    printf("main a=%p\n",a);
    minmax(a, sizeof(a)/sizeof(a[0]), &min, &max);
    printd("a[0]=%d\n", a[0]);
    printf("min=%d,max=%d\n" ,min, max);
    
    return 0;
}

void minmax(int a[], int len, int *min, *max)
{
    int i;
    prrintf("minmax soizeof(a)=%lu\n", sizeof(a));
    printf("minmax a=%p",a);
    a[0]=1000;
    *min = *max=a[0];
    for(i=1;i<len;i++){
        if( a[i] < *min){
            *min = a[i];
        }
        if( a[i] > *max){
            *max = a[i];
        }
    }
}
main size(a)=68
main a=0xbff67d10
minmax sizeof(a)=4
minmax a=0xbff67d10
a[0]=1000
min=2,max=1000
#include<stdio.h>

void minmax(int *a, int len, int *max, int *min);

int mian(void)
{
    int a[] = {1,2,3,4,5,6,7,8,9,12,13,14,16,17,21,23,55,};
    int min,max;
    printf("main sizeof(a)=%lu,"sizeof(a));
    printf("main a=%p\n",a);
    minmax(a, sizeof(a)/sizeof(a[0]), &min, &max);
    printd("a[0]=%d\n", a[0]);
    printf("min=%d,max=%d\n" ,min, max);
    
    return 0;
}

void minmax(int *a, int len, int *min, *max)
{
    int i;
    prrintf("minmax soizeof(a)=%lu\n", sizeof(a));
    printf("minmax a=%p",a);
    a[0]=1000;
    *min = *max=a[0];
    for(i=1;i<len;i++){
        if( a[i] < *min){
            *min = a[i];
        }
        if( a[i] > *max){
            *max = a[i];
        }
    }
}
main size(a)=68
main a=0xbff67d10
minmax sizeof(a)=4
minmax a=0xbff67d10
a[0]=1000
min=2,max=1000

数组参数

数组变量是特殊的指针

上一篇 下一篇

猜你喜欢

热点阅读