前言

不得不说C语言中的指针既有趣又强大。通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。可以说指针是C语言中重要的存在,必须掌握。

c语言指针优缺点(最强大的元素是什么)(1)

什么是指针(Point)?

指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:

数据类型 *变量名称;

举几个实际例子:

int* a; //有符号 整型 指针

unsigned int* b; //无符号 整型 指针

char* c; //字符串指针

struct tagItem* d; //结构体指针

void* e; //万能、或任意指针

通过上述例子,我们得知,不同数据类型有不同类型的指针。它们的区别在于数据类型的不同,但定义模式是一致的。

c语言指针优缺点(最强大的元素是什么)(2)

怎么使用指针呢?

想要用好指针,我们必须深刻认识上述讲到的指针的功能。接下来,我们还是从实际例子来进一步描述和使用指针。

int main(){ int a = 100; int* pA = &a; //将pA指向变量a int b[3] = { 0, 1, 2 }; int* pB = b; //将pB指向变量b,其中b是整型数组 *pA = 1000; //为指针指向的地址赋值1000,即变量a 变为了 1000 *pB = 100; //为数组b第一个元素赋值 100 *(pB 1) = 101; //为数组b第二个元素赋值 101 return 0; }

更详细点,指针的用途基本可分为以下几种:

  1. 算术运算,比如:p ,p--,亦或p =5,通常用于字符串指针、亦或数组指针。
  2. 作为结构体的成员变量使用。通常用于指向一个内存块、或共享数值的变量。
  3. 作为函数参数、或返回值使用。目的为了实现按地址、引用传递,而非按值传递。通常用于对结构体、或数组、或函数的指针,传递。

c语言指针优缺点(最强大的元素是什么)(3)

指针中的重点之一,空指针,NULL

NULL是什么?它代表空,没有指向地址,通常用作初始化指针,告诉编译器指针暂时空闲。可为什么说NULL很重要?

因为指针本质是指向一块内存区域,而我们通常是无法直接判断指向的内容是否合法,这就造成了指针使用困难。而如果通过判断指针是否为NULL(0),来判断是否合法,那么这一难题就迎刃而解。

if (p){ //指针指向有效 }

if (!p){ //指针指向无效 }

通过上述例子,我们可以明确知道判断方法。但要实现判断,还有个重要的前提条件:指针不再使用的时候,务必置为NULL(0)。

int* a = 0; //定义指针,并初始化为空。

int b;

a = &b; //设置指针

if (a){

*a = 100; //为变量b赋值

a = 0; //释放指针

}

c语言指针优缺点(最强大的元素是什么)(4)

总结

篇幅有限,指针博大精深,更多的关于指针的使用,需各位软件工程师,不断地练习,理解。

更多精彩,请关注“技术同胞”

#C语言# #指针# #电脑编程# #编程语言#

,