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

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

#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;
}

输出:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVtYW5fZXZvbHV0aW9u/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

时间: 2024-08-29 05:04:08

程序员之---C语言细节12(指针和数组细节,&quot;//&quot;的可移植性说明)的相关文章

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

主要内容:指针和数组细节,"//"的可移植性说明 #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的值

黑马程序员_ C语言基础之指针(三)

概览 指针是C语言的精髓,但是很多初学者往往对于指针的概念并不深刻,以至于学完之后随着时间的推移越来越模糊,感觉指针难以掌握,本文通过简单的例子试图将指针解释清楚,今天的重点有几个方面: 1.什么是指针 2.数组和指针 3.函数指针 什么是指针 存放变量地址的变量我们称之为“指针变量”,简单的说变量p中存储的是变量a的地址,那么p就可以称为是指针变量,或者说p指向a.当我们访问a变量的时候其实是程序先根据a取得a对应的地址,再到这个地址对应的存储空间中拿到a的值,这种方式我们称之为“直接引用”:

【程序员眼中的统计学(12)】相关与回归:我的线条如何? (转)

阅读目录 目录 1 算法的基本描述 2 算法的应用场景. 3算法的优点和缺点 4 算法的输入数据.中间结果以及输出结果 5 算法的代码参考 6 共享 相关与回归:我的线条如何? 作者 白宁超 2015年10月25日22:16:07 摘要:程序员眼中的统计学系列是作者和团队共同学习笔记的整理.首先提到统计学,很多人认为是经济学或者数学的专利,与计算机并没有交集.诚然在传统学科中,其在以上学科发挥作用很大.然而随着科学技术的发展和机器智能的普及,统计学在机器智能中的作用越来越重要.本系列统计学的学习

.Net 程序员面试 C# 语言篇 (回答Scott Hanselman的问题)

过去几年都在忙着找项目,赶项目,没有时间好好整理深究自己在工作中学到的东西.现在好了,趁着找工作的这段空余时间,正好可以总结和再继续夯实自己的.Net, C#基本功.在05年的时候,Scott Hanselman(微软的一个Principal Program Manager)在他的博客上列出了一张清单, 清单上是关于"一个好的.Net程序员应该知道的东东 What Great .NET Developers Ought To Know (More .NET Interview Questions

程序员的专属语言-----注释(04)

记得以前有个笑话,说一个程序员和他的朋友去吃饭,他拿着本记录菜名,几个人商量之后决定有一个菜不点了.过了一会儿上菜的时候还是上来了,大家都问为什么,服务员拿来菜单一看:    //鱼香肉丝.对于不懂程序的服务员,她显然没有明白这两个斜杠是什么意思 ,所以就闹出了这个笑话.在程序开发中,如果一味的写程序可执行的代码,运行起来可能没有问题,但是后续更改或维护就比较吃力,毕竟人直接看程序难度是有点大的,所以为了方便在以后阅读程序或者别人阅读程序时能比较容易读懂,为程序添加注释是必要的.听人说,一个完整

从程序员到项目经理(12):如何管理自己的时间(下)

4.管理者无需事必躬亲 有一种类型的管理者,他们不论什么事一定要亲自去做,至少也是亲自过问.人们习惯用一个成语来赞美他们,叫“事必躬亲”,仿佛诸葛亮再世一般.凡事亲自去做未必真的可取,为什么诸葛亮只活了53岁,恐怕跟他这种事必躬亲的精神也有莫大的关系吧——他是把自己累死的. (1)不要和下属抢事做 管理者相对于操作层员工,多了一项法宝,就是授权.理论上,只要员工可以胜任,所有的工作都可以授权.事实上,总经理为什么能对全公司发号施令.对工作进行变革,那是因为董事会授予了这个权限.连这么高层的工作都

深入理解C语言中的指针与数组之指针篇(转载)

前言 其实很早就想要写一篇关于指针和数组的文章,毕竟可以认为这是C语言的根本所在.相信,任意一家公司如果想要考察一个人对C语言的理解,指针和数组绝对是必考的一部分. 但是之前一方面之前一直在忙各种事情,一直没有时间静下心来写这些东西,毕竟这确实是一件非常耗费时间和精力的事情:一方面,个人对C语言的掌握和理解也还有限,怕写出来的东西会对大家造成误导.当然,今天写的这些东西也肯定存在各种问题,不严谨甚至错误的地方肯定有,也希望大家来共同探讨,相互改进. 我会慢慢的写完这几章,有想法的童鞋可以和我探讨

C语言中的指针与数组

1.指针与数组 1)指针与一维数组 i.数组指针(指向数组元素的指针) 类型  *指针变量名: 指针定义完成后要初始化(不想让指向任何内容,=0,=NULL) int a[10]; int *p = &a[0];   // &a[0] == a int *p1 = a; ii.用数组的指针访问数组元素 偏移:指针变量的偏移 p1 = p1+1;    //向下偏移1个一个数组元素 p1++;   //p1中存放的还是地址 .... 如果用指针访问第i个元素 p1+i 取出pi指向的元素的值

黑马程序员——26,基本数据操作流,字节数组操作流,转换流,编码表

------<ahref="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 黑马程序员--26, DataInputStream,DataOutputStream, ByteArrayInputStream,ByteArrayOutputStream, InputStreamReader,OutputStreamW