Chinaunix首页 | 论坛 | 博客
  • 博客访问: 202556
  • 博文数量: 22
  • 博客积分: 641
  • 博客等级: 上士
  • 技术积分: 756
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-27 00:41
文章分类

全部博文(22)

文章存档

2014年(1)

2013年(1)

2012年(20)

分类: C/C++

2012-04-03 01:04:11

1.表达式中的数组名就是指针时

点击(此处)折叠或打开

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main()
  4. {
  5.     int a[]={1,2,3,4,5,6};
  6.     int *p;
  7.     p=a;
  8.     printf("%d\n",a[3]);
  9.     printf("%d\n",p[3]);
  10.     printf("%d\n",*(p+3));
  11.     printf("%d\n",*(a+3));
  12. //    p=a+3;
  13. //    printf("%d\n",*p);
  14. //    printf("%d\n",*(a+3));
  15. //    printf("%d\n",a[3]);
  16.     return 0;
  17. }
2.数组下标作为指针的偏移量

点击(此处)折叠或打开

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main()
  4. {
  5.     int i,a[6],b[6],c[6];
  6.     int *p;
  7.     p=a;
  8.     for(i=0;i<6;i++)
  9.     {
  10.         p[i]=i;
  11.     }
  12.     for(i=0;i<6;i++)
  13.     {
  14.         printf("%d ",a[i]);
  15.     }
  16.     printf("\n");
  17.     p=b;
  18.     for(i=0;i<6;i++)
  19.     {
  20.         *(p+i)=i;
  21.     }
  22.     for(i=0;i<6;i++)
  23.     {
  24.         printf("%d ",b[i]);
  25.     }
  26.     printf("\n");
  27.     p=c;
  28.     for(i=0;i<6;i++)
  29.     {
  30.         *p++=i;
  31.     }
  32.     for(i=0;i<6;i++)
  33.     {
  34.         printf("%d ",c[i]);
  35.     }
  36.     printf("\n");
  37.     return 0;
  38. }
3.作为函数参数的数组名

点击(此处)折叠或打开

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. void fun(int *p)
  4. {
  5.         printf("%d\n",*p);
  6.         p=p+1;
  7.         printf("%d\n",*p);
  8.                 
  9. }
  10. //void fun(int b[])
  11. //{
  12. //        printf("%d\n",*b);
  13. //        b=b+1;
  14. //        printf("%d\n",*b);
  15. //}
  16. int main()
  17. {
  18.     int i,a[6];
  19.     for(i=0;i<6;i++)
  20.     {
  21.         a[i] = i;
  22.     }
  23.     fun(a);
  24.     return 0;
  25. }


阅读(1909) | 评论(0) | 转发(0) |
0

上一篇:tcp小结

下一篇:c ++中继承问题小结

给主人留下些什么吧!~~