首页 > 其他 > 详细

指针和数组及内存管理

时间:2014-06-02 18:07:29      阅读:443      评论:0      收藏:0      [点我收藏+]

1. 指针和地址

TCPL 中给指针的定义是: A pointer is a group of cells (often two or four) that can hold an address .

int value = 10;

int *pvalue = &value;

上面这个语句的内存模型是:

bubuko.com,布布扣

注意: &(取地址)操作符只对内存中存在的对象起作用,如变量和数组类型。不能对表达式,常量和寄存器变量使用取地址操作。

        *(析取)操作符应用于一个指针变量时,取得这个指针变量所指向的对象。

        每个指针只能指向特定类型的数据类型(void *型的指针可以指向任意类型的对象,但是却无法析取自身)。

 

2. 指针和函数参数:
TCPL中有这样一段描述: Since C passes arguments to functions by value, there is no direct way for the called function to alter a variable in the calling function.

C语言函数参数的传递方式是传值的,所以不能直接在被调用函数中修改调用函数中的变量。下面所谓的通过传递指针的"传址"方式,实际上也是"传值"方式,不过这里传递的是一个地址的值而已

下面通过一个实例来验证参数为指针的函数:

 

 

指针和数组及内存管理,布布扣,bubuko.com

指针和数组及内存管理

原文:http://www.cnblogs.com/jiangheng/p/3764429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!