社区
C++ 语言
帖子详情
char **p中**的意思
zq0417
2007-03-04 09:23:35
void GetMemory( char **p, int num )
{
*p = (char *) malloc( num );
}
void Test( void )
{
char *str = NULL;
GetMemory( &str, 100 );
strcpy( str, "hello" );
printf( str );
}
**p表示的是什么?
*p = (char *) malloc( num );中*p又是什么意思?
...全文
363
6
打赏
收藏
char **p中**的意思
void GetMemory( char **p, int num ) { *p = (char *) malloc( num ); } void Test( void ) { char *str = NULL; GetMemory( &str, 100 ); strcpy( str, "hello" ); printf( str ); } **p表示的是什么? *p = (char *) malloc( num );中*p又是什么意思?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tiancaiak
2007-03-05
打赏
举报
回复
指针也是个量,也要占内存的,当然可以再找一个指针指向这块存放指针的地址
lengxueqingfeng
2007-03-05
打赏
举报
回复
当我们要存一个变量的地址的时候就会用到指针.
因为指针也是一个变量,当我们要保存一个指针变量的地址的时候也会用到指针,只是这个指针保存的另一个指针变量的地址,通常我们把这种指针叫做指针的指针,以此类推,那保存此种指针的地址的指针变量叫什么呢,只有叫指针的指针的指针。
使用如下:
char*pc; // 指针,保存的类型为char的变量的地址
char**ppc; // 指针,保存的是另一个指向char变量的指针的地址;
char***pppc;//指针,保存的是另一个指向char*变量的指针的地址;
pc = new char[5];
ppc = &pc;//保存指针pc的地址;
pppc = &ppc;//保存指针ppc的地址;
//这里声明时,
char*,*表明此变量为指针,char为该指针指向变量的类型.
char**, *表明此变时为指针,char*为该指针指向变量的类型.
变量pc,ppc,pppc都是指针,只是指向的变量类型不同罢了,使用的时候和平时常用的pc这种指针是一样的。
不要看它*号多就被吓倒了,它也只是声明的一个指针型类.
snprintf
2007-03-05
打赏
举报
回复
也可以这样理解:
char* *p;
把 char* 看作一种类型(指向字符的指针类型), p 是指向这种类型的指针(即指向 " 指向字符的指针类型" 的指针).
kenneth_lueng
2007-03-05
打赏
举报
回复
可以认为p指向一个指针的数组
feillex
2007-03-04
打赏
举报
回复
**p表示二级指针(指针的指针)
你要改变传入指针自身的值,要么传入指针的指针,要么传入指针的引用。
blackmurder
2007-03-04
打赏
举报
回复
**p表示p是一个指向指针的指针
比如char *a;
那么就可以用p存储a的地址
而*p则和a一样,是指向char型的指针
深入理解const
char
*p,
char
const*p,
char
*const p,const
char
**p,
char
*const*p ...
一、可能的组合: (1)const
char
*p (2)
char
const*p (3)
char
*const p (4)const
char
**p (5)
char
const**p (6)
char
*const *p (7)
char
**const p 当然还有在(5)、(6)、(7)
中
再插入一个const的若干情况,不过分析了以上7
中
,其他的就可类推了! 二、理解助记法宝:...
const
char
*p,
char
const *p和
char
*const p区别(面试题常见)
请看下面三种定义: const
char
*p;
char
const *p;
char
* const p; 请问三者有什么区别? 先看第一种,先看p,根据优先级它和*结合,是指针,指向
char
类型,但是
char
前面有一个const修饰,所以p所指向的内容为const类型不可修改。 第二种:由于没有const *的运算,若出现const *的形式,则const实际上是修...
char
*const p,const
char
*p,
char
const *p和区别(容易混淆)
我在c++
中
学到了这个地方的时候,我们会碰到下列的这些定义.
char
*const p const
char
*p
char
const *p 如果学得不够深入的话,很难分清这些区别。 我们来看第一种
char
*const p 我们很容易能看到const 修饰的是p即p是不能被修改的。 所以p指向的内容是可以修改的,但是改变p是不可以的。 第二种是const
char
*p 我们可以看到const是修饰 指针p指向
char
类型,可以认为是p所指向的内容是不可以被修改的。 第三种就是
char
con
c语言
char
*p 数组p,关于:
char
(*p)[10] 、
char
p[10]和
char
*p[10]的讨论
发现自己C语言基础有漏洞,果断和大家讨论下:直观理解:1.
char
(*p)[10] 是指向数组的指针。2.
char
p [10]是一个数组p。3.
char
*p [10] 是指针数组,数组元素是
char
*指针。具体的不同点:1.指向数组的指针
char
(*p)[10]
中
,p指向的是一个10个
char
大小的数组,p+1 和 p 的差距是 sizeof(
char
p [10]),p+1已指到...
const
char
* &p 和
char
* const &p 区别
const
char
* &p 和
char
* const &p 两种引用: 两者都是对一个对象的引用。 但是前者的“这个对象”是 const
char
*,一个指向 const
char
的指针,注意!虽 然这个指针指向的
char
不可以改变,但这个指针本身的值是可以改变的,也就是说, 他可以被改变而指向另一个 const
char
对象。 后者的“这个对象”则是c...
C++ 语言
65,199
社区成员
250,520
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章