C语言指针应用2

指针的常用应用基本上可以了,
C语言指针2 多多指教

//该程序只是伪算法,旨在了解掌握指针的应用 
#include "stdio.h"
#include "assert.h" 课致力于指针的运算*/ 
int main()
{
/*下面部分显示 指针的算数运算*/
    int a[10],*p;
    p=&a[0]; //此时p指向数组第一个元素地址
    *p=5;    //此时a[0]=5

    int *q;
    p = &a[1];  //p->a[1]
    q = p + 3;  //p->a[1],q->a[4]   //注意:不是*q=*p+3   
    p += 6;     //p->a[7] q->a[4]
    //相同的,指针可以加整数,减整数,两个指针相加减   


/*下面是用于指针的数组处理部分*/


    int a1[10]={23,345,3,65,57,23,7,8,4,5};
    int sum,*p1;
    sum=0;
    //将p先指向a1[0],到地址加到最后, 将每个地址对应的数据相加 
    for(p=&a1[0]; p<&a1[10]; p1++)
    {
        sum += *p1;
    }


    *a = 7;//此时a[0] = 7
    *(a+1) = 12; //此时 a[1] = 12
    //则上述函数循环就可以改写为
    for(p1=a; p1<a+10; p1++) sum += *p1;     
/*运算符和++组合*/
/* 
    a[i++] = j;
    等价于 
    p=&a[0]; *p++ = j; 等价于 *(p++) = j; 

    注意:
    *p++ 或 *(p++) 自增前表达式的值是*p,然后是自增p
    (*p)++ 自增前表达式的值是*p 然后是 自增*p  
*/   
    printf("\nHello world !\n");
    return 0;
} 

猜你喜欢

转载自blog.csdn.net/qq_32460819/article/details/81262685