C语言学习笔记3

来源:互联网 发布:cae分析软件 编辑:程序博客网 时间:2024/05/17 07:27

指针:

为什么需要指针?

使用指针处理数组中存储的数据,执行速度要比使用 下标 快很多。

指针可以做到更改函数调用处之前的局部变量


指针:

一个变量的地址为该变量的“指针”,十个常量


指针变量:

指针变量是一个变量,用于存储地址的值


指针变量的声明:

数据类型 *指针变量名;


int i = 10;

int *p1;     //可以将int *看做是一个整体,然后p1中需要存储的是地址类型的数据

p1 =  &i;     //&是取址运算符       等价于 int *pi = &i;


* 号为 取址运算符

1.表达式中,*号两边都有变大时的话,*号是四则运算的乘法运算

2.在声明语句中,*号表明后面的变量为一个指针形式的变量

3.*号如果不在声明语句中,而只是在右边的表达式的话,表明取*号右边变量中所存地址对应内存中的数据(取值)


*p3 - &i;

等价于 i = &i;


printf("%d\n");打印结果是十进制的

printf("%p\n");打印结果是十六进制的  ,专门用于打印内存地址值


int i2 = 10;

int *p5;

int *p6;

p5 = &i2;

&*p5   //*p5等于i2         //&*p5 等于 &i2

*&i2    //实际上就是 i2的值


(*p5)++;

先找出p5所存储地址指向的存储单元的值,把值进行自加,p5的地址不变

*p5++;

++ 与 * 同一优先级,结合方向是从右向左,所以先找出p5所存储地址的值,然后该值加一,那么现在p5就不在指向变量i2了


在C语言中,地址传递也称为引用传递



0 0
原创粉丝点击