码迷,mamicode.com
首页 > 其他好文 > 详细

指针和数组及内存管理

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

标签:c   style   class   blog   code   a   

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

指针和数组及内存管理

标签:c   style   class   blog   code   a   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!