我是C++初学者,请说得具体一点,举个例子说明,谢谢!
C++ 指针数组是什么?怎么用?
- 提问者网友:杀手的诗
- 2021-05-07 15:28
- 五星知识达人网友:青尢
- 2021-05-07 17:07
主要用来指向若干字符串,使字符串的处理更加灵活。同时,我们应该清楚知道,字符串本身就是一个一维数组。
对于指针数组应注意以下几点:
(1):数组中的元素均为指针类型数据
(2):在给数组赋值时,表面看到是比如字符串等,但实际数组元素本身的值并不是字符串,而是字符串的首地址
eg.
main()
{
void sort(char *name[],int n);
char *name[]={"Follow me","The C language","Great Wall","How to inprove your programming technice"};
//这里返回指针值的数组name[]各元素的值并不是以上这些字符串,而是这些字符串的首地址
......
}
- 1楼网友:春色三分
- 2021-05-07 19:07
我觉得你首先要了解一下指针是什么,所有对象(整型,结构体,类等)在内存中都是首地址和内存段长度的,指针就是对象的首地址,因些可以利用指针遍历内存中的所有对象(也即数据),但是光有地址和长度还不足以使用这段数据,还得知道这是什么类型的数据,这个类型也就是指针的类型,即指明指针变量指向的内存段中存储的数据(实际上是二进制)应该被编译器理解为什么什么类型的数据(整型,字符型,布尔型还是类),甚至是函数的返回结果都可以是一个指针。
现在你就可以从整型数组,字符数组等类推出指针数组就是多个同类型指针的集合了。
- 2楼网友:躲不过心动
- 2021-05-07 17:59
指针数组 从名字知道他是个数组,数组的每个成员都是指针,例如
char *buf[3] ;这就是个指针数组,从语法上解析是这样:[] 优先级大于 *, 所以结合时先buf与[] 后 与*结合的,与[]结合形成buf[]说明这是个数组,然后与*结合 *buf[],说明该数组的每个成员是个指针,改指针指向一个char的值,明白了吧
而数组指针就是char (*buf)[4]
=====================
最后我们提供优质的C/C+=入门服务,需要的话请加QQ,商谈