地址和指针的不解之缘之都是翻译惹的祸

来源:互联网 发布:伊藤绫子二宫和也 知乎 编辑:程序博客网 时间:2024/05/22 10:30

1、在数组中,传入的数组参数表示的是数组首元素的地址,地址就是保存一个数据的位置,可以理解为门牌号,数据可以理解为屋里的人。c语言中常常使用的指针,也就是地址。

2、表示指针的符号是*,除此之外它还有两种意义,一个是两数乘积,一个是解引用。

3、解引用也叫间接访问符,意思是数据跳到上一层,中间略过一层。

eg:int  main()

{

  int a = 10;

  int b = 20;

  int *p = &a;定义一个整型的指针变量p为a的地址

  *p = 100;对p解引用并赋值100,这句的意思是a = 100

  p = &b;将指针变量p赋值成b的地址

  *p = 200;对p解引用并赋值200,这句的意思是b = 200

  int **pp = &p;定义二级指针变量pp并将其赋值成p的地址

  *pp = &a;对pp解引用表示的是数据p,即p = &a

  **pp = 1000;对*pp解引用表示的是数据a,即a = 1000

  *pp = &b;p = &b

  **pp = 2000;b = 2000

  return 0;

}

注意:二级指针只能解两次引用


原创粉丝点击