社区
C语言
帖子详情
请教指针的指针问题??
bluefile
2003-08-22 12:18:13
最近对指针的指针又犯难了
char **p 定义了一个二级指针,
那么p表示什么?
*p又表示什么?
**p呢?
如果这样:char **p;
char *p2 = "Test";
*p = p2; //表示什么呢
cout << *p <<endl;
一级指针: a表示指针值(指向地址)
&a表示指针a本来地址
*a表示指针指向值
二级: a 也表示指针值(指向地址)
*a表示???
**a????
&a?????
...全文
22
11
打赏
收藏
请教指针的指针问题??
最近对指针的指针又犯难了 char **p 定义了一个二级指针, 那么p表示什么? *p又表示什么? **p呢? 如果这样:char **p; char *p2 = "Test"; *p = p2; //表示什么呢 cout << *p <<endl; 一级指针: a表示指针值(指向地址) &a表示指针a本来地址 *a表示指针指向值 二级: a 也表示指针值(指向地址) *a表示??? **a???? &a?????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bluefile
2003-08-23
打赏
举报
回复
我还是不太明白 NEW 分配内存时的用法:char **p = new char*; ?是否正确
以及其他NEW的用法?三井兄能解释一下吗
davidwoo
2003-08-23
打赏
举报
回复
*p 记录存储某一类型数据的地址
**p 记录存在这一地址的地址
bluefile
2003-08-23
打赏
举报
回复
新的问题是:char x[][] = {"haha","hehe","hihi"}
char** p = x;
无法编译!
而用 char *x[] = {"haha","hehe","hihi"};
char **p = x;
就可以
积木
2003-08-22
打赏
举报
回复
记住这句话
char* p是一个指针 char** p是指向指针的指针
p 表示一组字符串中一个字符串的首地址
*p又表示什么?表示一个字符串的首地址
**p 表示一个字符值
char *p2 = "Test"; 定义一个新串
*p = p2; 将p2付给*p,即p指向的一组字串中又添加了p2;
cout << *p <<endl; 自然就是输出p2指向的字串了。
用数组的眼光来看这个问题(很不严谨,但是可以帮助你理解)
int* p 相当于一维数组 int p[]
int* p 相当于二维数组 int p[][]
Salam2001
2003-08-22
打赏
举报
回复
强烈建议看一下谭浩强的“C程序设计”关于指针的那一章,通俗易懂!
zyzyandzyzy
2003-08-22
打赏
举报
回复
很好理解,就是指针的指针啊,指针也是一种变量类型嘛,也可以附值啊。
chxinheifeng
2003-08-22
打赏
举报
回复
对于需要传递内存的程序比如
Fun1(void ** ppBuf)
{
try
{
*ppBuf =(void *) new char[1024];
}
catch(..)
{
}
}
,调用的结果可以带出一个指针,*ppBuf指向的地址是在函数内分配的
另,多级指针在实际上并不存在,也没有意义
积木
2003-08-22
打赏
举报
回复
细点说吧,假设我有一组字串
char x[][] = {"haha","hehe","hihi"}
然后我这样
char** p = x;
那么现在
*p就代表第一字串的首地址
**p就代表第一个字符了
p++后呢?
*p就代表第二个字串的地址了
如果我已经有很多的char* p ;那么我就可以定义一个char** p再设计一个算法,
用来在char* p中遍历
所以我说相当于添加了一个字串,
BTW:
cout << **p << endl
当然是输出当前指向的一个字符了;
bluefile
2003-08-22
打赏
举报
回复
感谢三井的指点,但新的问题是 二维指针除了和指针数组配合使用还有什么意义吗?
char **p = new char*; //这样分配内存对吗???
char *p2 = "Test"; //定义一个新串
*p = p2; //将p2付给*p,即p指向的一组字串中又添加了p2,怎么说p指向一组字符串
cout << *p <<endl; //自然就是输出p2指向的字串了。
那么如果**p 表示一个字符值,cout << **p << endl;又是什么呢
ahusd
2003-08-22
打赏
举报
回复
指针*一次,就等于又套了一次,也就是说,如同数组又加了一层!
immaga
2003-08-22
打赏
举报
回复
记住:
*p是行指针,对应一个二维数组arr[m][n]中的arr[m]一样
2小时精通C++智能
指针
智能
指针
可以解决普通
指针
存在的悬垂
指针
、野
指针
、资源泄露等
问题
本教程的主要的演示平台为Qt 4.11和g++ 7.4。学员也可以使用Visual Studio 2017。 教程中从最简单的例子入手,覆盖智能
指针
的常用技术点,并穿插...
c语言结构体
指针
菜鸟教,菜鸟
请教
C语言结构体
指针
实例化的
问题
?
该楼层疑似违规已被系统折叠隐藏此楼查看此楼在函数中对结构体赋值时赋不上,用printf查看结果始终为0,有人说是因为结构体
指针
使用前没有进行实例化导致。一知半解没明白什么叫实例化,好像是要用malloc分配内存。...
C语言|
指针
进阶(2):常量
指针
和
指针
常量、数组参数和
指针
参数、函数
指针
指针
是我们学习C语言的重工具,这篇博客是我对C语言
指针
进阶探索的又一深入,主要讲了
指针
常量和常量
指针
、数组参数和参数数组、...刚开始学习
指针
不久,写的不好,向各位大佬
请教
,欢迎大家给我提任何
问题
.........
matlab里有
指针
吗,matlab能返回
指针
和接受
指针
吗?
该楼层疑似违规已被系统折叠隐藏此楼查看此楼我写了一个C++文件tdbconnect.cpp,想通过matlab调用该文件中的函数。在tdbconnect.cpp中有...但是,
指针
有
问题
了。纠结啊!!!!!!!具体如下:1. tdbconnect.cpp ...
matlab如何使用
指针
,matlab能返回
指针
和接受
指针
吗?
该楼层疑似违规已被系统折叠隐藏此楼查看此楼我写了一个C++文件tdbconnect.cpp,想通过matlab调用该文件中的函数。在tdbconnect.cpp中有...但是,
指针
有
问题
了。纠结啊!!!!!!!具体如下:1. tdbconnect.cpp ...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章