黑马程序员技术交流社区

标题: 数组与指针 [打印本页]

作者: 汪坤洋    时间: 2015-10-26 23:13
标题: 数组与指针
/*
指针的特点2  数组指针  指针数组
wky
*/

#include <stdio.h>

void jjcc(int a,int b ,double (*c)[ ]){
    //    c[0] = a+b;
    //    c[1] = a-b;
    //    c[2] = a*b;
    //    c[3] = a/b;
    (*c)[0] = a+b;
    (*c)[1]= a-b;
    (*c)[2] = a*b;
    (*c)[3] = (double)a/b;
   
}

void jjcc2(char *(c[ ])){
    //    c[0] = '+';
    //    c[1] = '-';
    //    c[2] = '*';
    //    c[3] = '/';
   
    //*c = '+';//*c = c[0]
    //    *(c+1)='-';//*(c+1) = c[1]
    //    *(c+2) = '*';
    //    *(c+3) = '/';
        **c = '+';//*c  数组c第一个值   但是数组c的第一个值也是地址  **c 数组c的第一个值用*就是值
        **(c+1) = '-';
        **(c+2) = '*';
        **(c+3) = '/';
    //    for (int i = 0 ; i < 4; i++) {
    //printf("%d",*c);
    //}
   
    //printf("c=%p,*c=%p",*c[1],**(c+1));
    //    **c = '-';
    //    **c = '*';
    //    **c = '/';
}


int main(){
    int a;
    int b;
    char aa,bb,cc,dd;
    double strs[4];
    double (*cd)[ ] = &strs;
    char *str[4] = {&aa,&bb,&cc,&dd};//不初始化就会出现野指针
    printf("请输入两个整数,以逗号分割\n");
    scanf("%d,%d",&a,&b);
    jjcc(a,b,cd);//数组指针
    jjcc2(str);//指针数组
   
    for(int i = 0 ; i <4 ; i++){
        printf("a%cb=",**(str+i));
        printf("%.3f\n",strs[i]);
    }
    return 0;
}

分享一下自己写的   这段代码把指针数组和数组指针都用上了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2