您的位置:首页 > 编程语言 > C语言/C++

程序猿之---C语言细节12(指针和数组细节,"//"的可移植性说明)

2014-11-07 18:17 330 查看

主要内容:指针和数组细节,"//"的可移植性说明

#include <stdio.h>

int main(int argc, char **argv)
{
int a[10]={1,2,3,4,5,6,7,8,9,0},*p;

#if 0
/*
按移植性来说,在《c语言程序设计--现代方法》指出要用当前注释方法,而不是//
因为一些编译可能不支持
*/
// 错误举例
while(*a != 0)
{
a++;  // a++ 相当于a = a+1,不能改变a的值
// 而*(a+1) = 12;是可以的,a[1]= 12;
// a 可以代替 &a[0], a+1可以代替&a[1]
}
#elif 1
    p = a;
    while(*p !=0)
    {
        printf("%d\n",*p);
        *p++;
    }
#else    
    int i;
    // 用指针做数组名
    p = a;
    for(i = 0; i < 10; i++)
    {
        printf("%d\n",p[i]);
    }        
#endif
return 0;
}

输出:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数组指针 c语言
相关文章推荐