C / C ++中的算术指针
如主章中所述,C / C ++中的光标是一个地址,它是数字值。因此,您可以像数字值一样在指针上执行算术操作。有4个算术运算符可用于指针:++, - , +和 - 。
要了解算术指针,我们假设反对是指向1000个地址的整数指针。假设整数为32位,我们在此指针上执行算术操作:
contro ++
现在,在上述操作之后,由于每个节点都会递增一个位置1004位置,它将指向下一个整数,这是当前位置的下一个4个字节。这将将光标移至下一个内存位置,而不会影响内存位置的实际值。如果CONTRO指向地址为1000的字符,则上述操作将指向位置1001,因为下一个字符将在1001处。
在C / C ++中增加光标
我们更喜欢在程序中使用指针,而不是使用数组,因为与数组名称不同,变量指针可以增加,因为它是恒定的指针。以下程序增加了可变指针,以访问数组的每个元素:
#include using namespace std ; const int MAX = 3 ; int main () { int mang [ MAX ] = { 10 , 100 , 200 }; int * contro ; // bay gio chung ta co mot mang dia chi trong con tro. contro = mang ; for ( int i = 0 ; i < MAX ; i ++) { cout << "Dia chi cua mang[" << i << "] = " ; cout << contro << endl ; cout << "Dia chi cua mang[" << i << "] = " ; cout << * contro << endl ; // tro toi vi tri tiep theo contro ++; } return 0 ; }
运行上述C / C ++程序将产生以下结果:
减少C / C ++的光标
以下程序以减少指针,这将减少其值的值,如下所示:
#include using namespace std ; const int MAX = 3 ; int main () { int mang [ MAX ] = { 10 , 100 , 200 }; int * contro ; // bay gio chung ta co dia chi cua phan tu cuoi trong con tro. contro = & mang [ MAX - 1 ]; for ( int i = MAX ; i > 0 ; i --) { cout << "Dia chi cua mang[" << i << "] = " ; cout << contro << endl ; cout << "Dia chi cua mang[" << i << "] = " ; cout << * contro << endl ; // tro toi vi tri o truoc contro --; } return 0 ; }
运行上述C / C ++程序将产生以下结果:
比较C / C ++中的指针
可以使用关系运算符(例如==,<,and>)比较指针。如果P1和P2指向彼此相关的变量,例如同一数组的元素,则可以有意义地比较P1和P2。
以下程序通过增加变量指针来修改上一个示例,以使其指向的地址小于或等于数组的最后一个元素的地址,&var [max -1]:
#include using namespace std ; const int MAX = 3 ; int main () { int mang [ MAX ] = { 10 , 100 , 200 }; int * contro ; // bay gio chung ta co dia chi cua phan tu dau tien trong con tro. contro = mang ; int i = 0 ; while ( contro <= & mang [ MAX - 1 ] ) { cout << "Dia chi cua mang[" << i << "] = " ; cout << contro << endl ; cout << "Dia chi cua mang[" << i << "] = " ; cout << * contro << endl ; // tro toi vi tri o truoc contro ++; i ++; } return 0 ; }
运行上述C / C ++程序将产生以下结果:
根据TutorialSpoint
上一篇文章:C / C ++中的光标null
下一篇文章:C / C ++中的光标null
你应该阅读
可能有兴趣
- C ++中的光标和数组
指针和阵列密切相关。实际上,在某些情况下,指针和阵列可以互换。
- C ++中的一系列指针
在我们了解指针数组的概念之前,我们考虑以下示例,该示例使用3个整数编号的数组。
- 指针在C ++中的指针
指向光标的指针是一个非方向性的形式或一串指针。通常,指针包含变量的地址。
- 将光标传递到C ++中的功能
C ++允许您将指针传递给功能。为此,您只需要像指针类型中声明功能参数。
- 从C ++中的函数返回指针
正如我们已经看到C ++如何允许从函数返回数组的,同样,C ++允许您从函数返回指针。
- C ++练习具有变量,数据类型和操作员的解决方案(示例代码)
在先前的C ++练习中,提出了TipsMake.com,您熟悉了从简单到复杂的多种类型的课程。在此C ++练习中,我们将熟悉C ++中的变量和数据类型的C ++练习。