程序员之---C语言细节12(指针和数组细节,"//"的可移植性说明)
2017-06-22 14:05
381 查看
主要内容:指针和数组细节,"//"的可移植性说明
#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语言细节12(指针和数组细节,"//"的可移植性说明)
- 程序员之--C语言细节13(二维数组和指针,&*a[i][0]的理解,数组1[e]和e[1]非常可能你没见过)
- 程序员之---C语言细节22(函数返回指针注意事项<悬空指针>、查看进程能够分配的内存大小)
- 程序猿之--C语言细节13(二维数组和指针,&*a[i][0]的理解,数组1[e]和e[1]很可能你没见过)
- 程序猿之--C语言细节13(二维数组和指针,&*a[i][0]的理解,数组1[e]和e[1]很可能你没见过)
- 数组与指针---都是"退化"惹的祸【转载】
- C语言细节之五:数组和指针
- 【C语言】12-指向一维数组元素的指针
- (转+原创)c语言那些细节之a+1和&a+1的区别 ,指针的步长问题。
- 数组与指针---都是"退化"惹的祸
- C语言根据特定的符号分割字符串 如:字符串"a,bbb,ccc"->数组[a,bbb,ccc]
- C语言 字符数组和字符串指针的理解
- 数组与指针---都是"退化"惹的祸
- 【C语言】12-指向一维数组元素的指针
- 数组的数组"、"数组的指针"、"指针的数组"和"指针的指针"的关系
- 【C语言】12-指向一维数组元素的指针
- 数组与指针---都是&quot;退化&quot;惹的祸
- C语言指针及数组(Q&A)
- 数组&指针&函数(转自C语言习题与解析 第3版 李春葆编著)
- "显微镜"下细看字符串常量初始化数组和指针