指针

1、指针的重要性

C 语言的灵魂。

2、定义:

地址:
  • 地址就是内存单元的编号;
  • 从 0 开始的非负整数;
  • 范围:0~FFFFFFFF(0~4G-1)。
指针:
  • 指针就是地址,地址就是指针。
  • 指针变量是存放内存单元地址的变量。
  • 指针的本质是一个操作受限的非负整数。

分类

1、基本类型指针

 int * p; 
  • p 是个变量名字,int * 表示该 p 变量只能存储 int 类型变量的地址。
int * p; 
int j = *p;  //error
  • 此时,p 并没有保存有效的变量地址,p 中就是一个垃圾数字。
  • 不能将一个不确定单元的值赋给另一个变量。
int * p;
int i = 10;
int j;

p = &i;  //把 i 的地址发送给 p,即 p 指向 i;这部也可直接写成 int *p = &i。
j = *p;
printf("i = %d,j = %d,*p = %d",i,j,*p)  //i = 10,j = 10,*p = 10

p=&i
p 保存了 i 的地址,所以 p 指向 i。
修改 p 的值不影响 i 的值,修改 i 的值不影响 p 的值。
*p 等价于 i,*p 和 i 在任何地方可以互换。

int i = 10;
int *p = &i;

//等价于
int i = 10;
int *p;
p = &i;
  • 指针变量也是变量,只不过它存放的不能使内存单元的内容,只能存放内存单元地址。
  • 普通变量前不能加 *
  • 常量和表达式前不能加 &。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,819评论 3 44
  • 第十章 指针 1. 地址指针的基本概念: 在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为...
    坚持到底v2阅读 4,736评论 2 3
  • 原文链接,优秀 本节来解决如何给一个指针变量初始化。即怎样使一个指针变量指向另一个变量。 前面章节中的某些程序实际...
    来自外星球的柠檬甜橙阅读 4,739评论 0 1
  • 前言 在c语言的中主要就是掌握指针和结构体、加链表吧。之前也只是学习过c语言的,但是多年来都做的面向对象的开发,对...
    雪域红鹰阅读 3,853评论 0 1
  • 什么是变量 变量就是一块可以存放数据的内存空间,这块内存空间的大小,取决于变量的类型。 什么是指针 内存在计算机中...
    Sivin阅读 4,968评论 1 2

友情链接更多精彩内容