社区
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又是什么意思?
...全文
351
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写文章
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
中
,其他的就可类推了! 二、理解助记法宝:...
char
*p与
char
**p
char
*p与
char
**p
char
str[6]={‘H’,‘E’,‘L’,‘L’,‘O’,’\0’}
char
*p=str
char
** p=&p
char
*p相当于p取了str的地址, * p才是str的内容。而
char
** p相当 * p于取了 str的地址,**p才是str的内容。而p是 * p的地址 假若str是你的钱包,那么
char
* p
中
的p在这里就是存...
理解一下
char
**p
char
*p[]
一开始学的时候,
char
**p就是指针的指针 那时候没用过 而且也没见过
char
*p[] 就忽略了学习这个东西
char
*p
char
p[] 这两个p 都是字符串首地址
char
**p
char
*p[] 也都是一个p指向一个指针(首地址) 栗子
char
*p[5]就是5个“”字符串 每一个p[i]是一个字符串
char
**p 每一个p[i]也都是一个字符串 int p[3
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实际上是修...
const
char
*p,
char
const*p和
char
* const p的区别
const
char
*p;//
char
*p是一个指针,指向
char
类型的,被const修饰,表示指向的内容是无法改变的 //但是,p可以改变
char
const *p;//由于没有const *的指针类型,所以const修饰
char
*p,和const
char
*p的效果一样
char
* const p;//const直接修饰p,表示p无法修改,但是指针指向的内容可以修改 总而言之,由const直接修饰的无法更改 ...
C++ 语言
64,648
社区成员
250,503
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章