如何将句容建设局网站转型为专注于面食的在线平台?

摘要:句容建设局网站,做面食网站,广西南宁网站建设哪家好,北京汉邦未来网站建设有限公司指针是 C 语言最重要的概念之一,也是最难理解的概念之一。指针是C语言的精髓,要想掌握C语言就需
句容建设局网站,做面食网站,广西南宁网站建设哪家好,北京汉邦未来网站建设有限公司指针是 C 语言最重要的概念之一#xff0c;也是最难理解的概念之一。 指针是C语言的精髓#xff0c;要想掌握C语言就需要深入地了解指针。 指针类型在考研中用得最多的地方#xff0c;就是和结构体结合起来构造结点(如链表的结点、二叉树的结点等)。 本章专题脉络 1、指针… 指针是 C 语言最重要的概念之一也是最难理解的概念之一。 指针是C语言的精髓要想掌握C语言就需要深入地了解指针。 指针类型在考研中用得最多的地方就是和结构体结合起来构造结点(如链表的结点、二叉树的结点等)。 本章专题脉络 1、指针的理解与定义 1.1 变量的访问方式 计算机中程序的运行都是在内存中进行的变量也是在内存中分配的空间且不同类型的变量占用不同大小的空间。那如何访问内存中变量存储的数据呢有两种方式直接访问和间接访问。直接访问直接使用变量名进行的访问以前的程序中都是采用这种方式。 int num1  10; int num2  20; int num3  num1  num2;间接访问通过指针来实现。下面看如何理解指针。 1.2 内存地址与指针 为了能够有效的访问到内存的每个单元(即一个字节)就给内存单元进行了编号这些编号被称为该内存单元的地址。因为每个内存单元都有地址所以变量存储的数据也是有地址的。 int num  5;通过地址能找到所需的变量单元可以说地址指向该变量单元将地址形象化地称为“指针”。即 变量命名的内存空间用于存放各种类型的数据。 变量名变量名是给内存空间取的一个容易记忆的名字。 变量值在变量单元中存放的数据值。 变量的地址变量所使用的内存空间的地址即指针。 指针变量一个变量专门用来存放另一变量在内存中数据的地址 (即指针)则它称为“指针变量”。我们可以通过访问指针变量达到访问内存中另一个变量数据的目的。(有时为了阐述方便将指针变量直接说成指针。) 上图中地址0x00000001是变量 i 的指针i_pointer就是一个指针变量。 体会指针就是内存地址使用指针访问变量就是直接对内存地址中的数据进行操作。 1.3 指针变量的定义 一般格式 数据类型 *指针变量名 [初始地址值];数据类型是指针变量所指向变量数据类型。可以是 int、char、float 等基本类型也可以是数组等构造类型。 字符 * 用于告知系统这里定义的是一个指针变量通常跟在类型关键字的后面。比如 char * 表示一个指向字符的指针 float * 表示一个指向 float 类型的值的指针。此外还有指向数组的指针、指向结构体的指针。 举例1 int *p;  //读作指向int的指针”或简称“int指针”这是一个指针变量用于存储int型的整数在内存空间中数据的地址。 变形写法 int* p; int * p;注意 1、指针变量的名字是 p不是*p。 2、指针变量中只能存放地址不要将一个整数或任何其它非地址类型的数据赋给一个指针变量。 举例2同一行声明两个指针变量 // 正确 int * a, * b; // 错误 int* a, b;   //此时a是整数指针变量而b是整数变量举例3一个指针指向的可能还是指针这时就要用两个星号 ** 表示。(后面讲) int **foo;1.4 指针的应用场景 场景1使用指针访问变量或数组的元素。 场景2应用在数据结构中。比如 2、指针的运算 指针作为一种特殊的数据类型可以参与运算但与其他数据类型不同的是指针的运算都是针对内存中的地址来实现的。 2.1 取址运算符 取址运算符使用“”符号来表示。作用取出指定变量在内存中的地址其语法格式如下 变量举例1 int num  10;  printf(num  %d\n, num); // 输出变量的值。 num  10 printf(num  %p\n, num); // 输出变量的内存地址。num  00000050593ffbbc说明 1、在输出取址运算获得的地址时需要使用“%p”作为格式输出符。 2、这里num的4个字节每个字节都有地址取出的是第一个字节的地址较小的地址。 举例2将变量的地址赋值给指针变量 int num  10; int *p; //p为一个整型指针变量 p  num; 举例3 int d  10; int *e, *f; e  d; f  e;指针变量的赋值 1、指针变量中只能存放地址指针不要将一个整数或任何其它非地址类型的数据赋给一个指针变量。 2、C语言中的地址包括位置信息(内存编号或称纯地址)和它所指向的数据的类型信息即它是“带类型的地址”。所以一个指针变量只能指向同一个类型的变量不能抛开类型随意赋值。
阅读全文