首页 > 代码库 > 数组,指针的熟悉,一些小心得

数组,指针的熟悉,一些小心得

main()           //*&i其实与*P其实是同样结果,同时某些情况也就等于i.{                   //&i=p,*P=i,*P表示&i所表示的数值    long i;    long *p;    printf("please input the number:\n");    scanf("%ld",&i);    p=&i;    printf("the result1 is:%ld\n",*&i);    printf("the result2 is:%ld\n",i);    printf("the result3 is:%ld\n",*p);}

int i;int *P;p=&i,此时P前不要写*.或者int i;int *P=&i,同时定义和赋值要写*.*&优先级一样,从右像做.其实*P就是&上的那个数的内存位置吧

 //P指针位移1位,就等于&i地址位移一位,就是int i 的一个单位,4个字节.p++后面的比前面的大4个字节void pc(){    int i;    int *p;    printf("please input the number:\n");    scanf("%d",&i);    p=&i;    printf("the result1 is:%d\n",p);    p++;    printf("the result2 is:%d\n",p);        return ;}//下面是二维数组简单点的如何输出二维排列方式,但是思维还是有点绕,不够清晰直接int main(){    int a[3][5],i,j;    printf("please input:\n");    for (i=0; i<3; i++)    {        for (j=0; j<5; j++)        {            scanf("%d",a[i]+j);        }    }    printf("the result is:\n");    for (i=0; i<3; i++)    {        for (j=0; j<5;j++)        {            printf("%3d",*(a[i]+j));        }        printf("\n");    }    return 0;}

 char (*p)代表定义一个*P类型是char型, .....= (char *)p表示强势转换成字符型指针.字符型数组后面会默认多个\0会自动帮你太添加,而整形数组则需要"包含\0",才能相当于字符型数组,今天这章内容有点多,所以慢慢理解,至于作业暂时没有做,还在熟悉与理解

数组,指针的熟悉,一些小心得