wordpress站点运行时间,六安网站制作人才招聘,怎么做网站的icp备案信息,wordpress站长邮箱C 指针
学习 C 的指针既简单又有趣。通过指针#xff0c;可以简化一些 C 编程任务的执行#xff0c;还有一些任务#xff0c;如动态内存分配#xff0c;没有指针是无法执行的。所以#xff0c;想要成为一名优秀的 C 程序员#xff0c;学习指针是很有必要的。
正如您所知…C 指针
学习 C 的指针既简单又有趣。通过指针可以简化一些 C 编程任务的执行还有一些任务如动态内存分配没有指针是无法执行的。所以想要成为一名优秀的 C 程序员学习指针是很有必要的。
正如您所知道的每一个变量都有一个内存位置每一个内存位置都定义了可使用连字号运算符访问的地址它表示了在内存中的一个地址。请看下面的实例它将输出定义的变量地址
实例
#include iostreamusing namespace std;int main ()
{int var1;char var2[10];cout var1 变量的地址 ;cout var1 endl;cout var2 变量的地址 ;cout var2 endl;return 0;
}当上面的代码被编译和执行时它会产生下列结果 var1 变量的地址 0xbfebd5c0
var2 变量的地址 0xbfebd5b6通过上面的实例我们了解了什么是内存地址以及如何访问它。接下来让我们看看什么是指针。
什么是指针
指针是一个变量其值为另一个变量的地址即内存位置的直接地址。就像其他变量或常量一样您必须在使用指针存储其他变量地址之前对其进行声明。指针变量声明的一般形式为 type *var-name;在这里type 是指针的基类型它必须是一个有效的 C 数据类型var-name 是指针变量的名称。用来声明指针的星号 * 与乘法中使用的星号是相同的。但是在这个语句中星号是用来指定一个变量是指针。以下是有效的指针声明 int *ip; /* 一个整型的指针 */
double *dp; /* 一个 double 型的指针 */
float *fp; /* 一个浮点型的指针 */
char *ch; /* 一个字符型的指针 */所有指针的值的实际数据类型不管是整型、浮点型、字符型还是其他的数据类型都是一样的都是一个代表内存地址的长的十六进制数。不同数据类型的指针之间唯一的不同是指针所指向的变量或常量的数据类型不同。
C 中使用指针
使用指针时会频繁进行以下几个操作定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。这些是通过使用一元运算符 * 来返回位于操作数所指定地址的变量的值。下面的实例涉及到了这些操作
实例
#include iostreamusing namespace std;int main ()
{int var 20; // 实际变量的声明int *ip; // 指针变量的声明ip var; // 在指针变量中存储 var 的地址cout Value of var variable: ;cout var endl;// 输出在指针变量中存储的地址cout Address stored in ip variable: ;cout ip endl;// 访问指针中地址的值cout Value of *ip variable: ;cout *ip endl;return 0;
}当上面的代码被编译和执行时它会产生下列结果 Value of var variable: 20
Address stored in ip variable: 0xbfc601ac
Value of *ip variable: 20C 指针详解
在 C 中有很多指针相关的概念这些概念都很简单但是都很重要。下面列出了 C 程序员必须清楚的一些与指针相关的重要概念
概念描述C Null 指针C 支持空指针。NULL 指针是一个定义在标准库中的值为零的常量。C 指针的算术运算可以对指针进行四种算术运算、--、、-C 指针 vs 数组指针和数组之间有着密切的关系。C 指针数组可以定义用来存储指针的数组。C 指向指针的指针C 允许指向指针的指针。C 传递指针给函数通过引用或地址传递参数使传递的参数在调用函数中被改变。C 从函数返回指针C 允许函数返回指针到局部变量、静态变量和动态内存分配。