c++指针(c++指针数组)
本篇文章给大家谈谈c++指针,以及c++指针数组对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
C语言指针的作用有哪些?
指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不哗友能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。简单地说指针就是指向变量和对象的地址。
基本说明:
1、唤凯在计算机中,所有的数据都是存放在存储器中的。 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等;
2、为了正确地访问这些内存单元,须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。既然根据内存单元的编号或地址就可以找到所需的内存单元,和芦唤所以通常也把这个地址称为指针。内存单元的指针和内存单元的内容是两个不同的概念。
[img]c语言指针是什么
1、c语言指针其实是一个整形变量,与其它数据不同的是,它的作用是用来存储其它变量的地槐扮搭址。指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(pointsto)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。铅拿
2、因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。
3、再打个比方:有个人让你去麦当劳帮我买个雪糕,那么缺世麦当劳是这个变量a,但是那个人现在把麦当劳所在的地址写在纸上给你,那么这张纸就可以看做一个指向麦当劳的指针。
C|指针的10种经典应用场合
都说指针是C语言的精髓,那指针究竟有哪些经典应用场合呢?
指针有三大类:指向数据的指针,指向函数的指针和范型指针(void*)。
其经典的应用场合,可以分为以下10类:
1 与函数相关的使用
1.1 在函数中用作 输出型参数,产生副作用 (更新被调函数中的局部变量的值)
1.2 在函数中用作 输出型参数,用于返回多个值
1.3 在函数中用作 输入型参数,指向复合类型,避免传值的副作用 (性能损耗)
1.4 用做 函数返回值,返回一个左值
返回左值在C++中应用比较多,特别是用引用来返回左值,如返回ostream,或重载[]、=等运算符。
1.5 用于指向函数的 函数指针 ,使用函数指针调用回调函数
2 用于指向堆内存
实质也是通过库函数(malloc.h)返回void*指针。
3 与void配合使用,用void*来表示一个 泛型指针
4 用于指向数组名( 数组指针 )
5 用于指向一个字符串常量( 字符串常量指针 )
关于字符数组和字符指针可以轿棚山图示如下:
在字符指针数组,数组元素是一个字符指针,用于指向一个字符串常量,如:
6 在数据结构中,用作 链式存储
附加:在字符串、文件操作中跟踪操作位置。
如分割字符串函数strtok():
char *strtok(char s[], const char *delim);
对该函数的一系列调用将str拆分为标记(token),闭中这些标记是由分隔符中的任何字符分隔的连续字符序列。
在第一次调用时,函数需要一个C风格字符串作为str的参数和侍,str的第一个字符用作扫描标记的起始位置。在随后的调用中,函数需要一个空指针,并使用最后一个标记结束后的位置作为扫描的新起始位置。
要确定标记的开头和结尾,函数首先从起始位置扫描未包含在分隔符中的第一个字符(它将成为标记的开头)。然后从这个标记的开头开始扫描分隔符中包含的第一个字符,它将成为标记的结尾。如果找到终止的空字符,扫描也会停止。
标记的末端将自动替换为空字符,函数将返回标记的开头。
在对strtok的调用中找到str的终止空字符后,对该函数的所有后续调用(以空指针作为第一个参数)都会返回空指针。
找到最后一个标记的点由函数在内部保留,以便在下次调用时使用 (不需要特定的库实现来避免数据争用)。
二进制文件的随机读写:
在标记文件信息的结构体FILE中,包含3个标识文件操作位置的指针。
code demo:
-End-
关于c++指针和c++指针数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。