您的位置:首页 > 其它

第十章 数组和指针(数组和指针的关系,指针操作)总结 140518

2014-05-18 23:34 567 查看
数组和指针的关系:

       数组标记实际上就是指针的另外的形式。在前一章我们已经知道指针的概念(其数值为地址的变量)。数组名同时        也是该数组首元素的地址,如果flizny 是一个数组那么就有flizny == &flizny [0](&是取的变量的地址),既然fliznyt 和       & flizny [0]都代表首元素的内存地址,只要是地址就可以赋值给指针变量。而要取的址址的值就要用到*运算符               如fiizny
[1] == *(flizny + 1);  //相同的值  & flizny [1] == flizny + 2;  //有相同的地址 只有在函数原型和函数定义场合       才可用int *flizny 代替int flizny [] 。另外 说一下指针加1它结果         是对该指针增加1个存储单元(指针的值加上它         指向的对象的字节大小),这就说明了为什么在声明指针时要
 声明         它所指上对象的数据类型对于数组则是增         加到下一个元素的 地址。自己总结就是:数组名可以直接赋值给指针            

指针操作:

      赋值:可以把一个地址赋给指针。通常使用数组名和地址运算符&来进行地址赋值,注意地址赋给指针时其数据类                   型要相同  

      求值或取值 :运算符*可取出指针指向地址中存储的数值。

       取指针地址:指针变量同其他变量一样具有地址和数值,使用运算符&可以得到存储指针本身的地址。

        将一个整数加给指针:可以使用运算符+来把一个整数加给一个指针 过程是这个整数和指针所指的类型的字节相                                             乘,然后所得的结果会加到初始地址上。(要记住地址一般是以16进制)

      增加指针的值:可以通过一般的加法或增量运算符来增加一个指针的值,这样作可以让指针指向下一个元素。

      从指针中减去一个整数:同整数加给指针差不多只用的运算符不同,一个用加,一个用减。运算过程也差不。

     减小指针的值:同加指值差不多,只是用的运算符不同。

    求差值:通常对分别指向同一个数组内两个元素的指针求值以求元素之间的距离。差值的单位是相应类型的大小

     比较:可以使用关系运算符来比较两个指针的值。前提是两个指针具有相同的类型

注意:

计算机并不检查指针是否仍然指向某个数组元素。C只保证指向数组元素的指针和指向数组后的第一个地址的指         针有效。但数组后的第一个地址的值结果是未知。使用指针是不能对一个未初始化的指针取值。因为当创建一个         指针 时,系统只分配用来存储指针本身的内存空间,并不分配用来存储数据的内存空间。

另个说个题外话:我也有可能会对前面的blog加一些新的东西进去。今天 更新了第九章01的blog。

       

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息