社区
C语言
帖子详情
请问char ** 的用法
graf
2006-05-17 09:21:06
char *a为定义一个字符型指针变量那么char **a 定义的是什么呢?
...全文
1368
14
打赏
收藏
请问char ** 的用法
char *a为定义一个字符型指针变量那么char **a 定义的是什么呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
freshman1995
2006-05-30
打赏
举报
回复
二维字符数组
C++程序语言设计写着的,C++之父说的
SAMUEL_NAME
2006-05-19
打赏
举报
回复
char**P
P就是一个 指向 字符指针 的指针
char I = 'i';
char* Q = &I;
char** P = &Q;
**P == *Q == 'i'
mr_moran
2006-05-19
打赏
举报
回复
ForestDB(冰) ( ) 信誉:100 2006-05-19 02:32:00 得分: 0
agcty(do it professionally) ( ) 信誉:100 2006-05-18 22:54:00 得分: 0
char*常用于字符串
char**常用于字符串数组
=========================
如上,一下是段demo
#include <stdio.h>
main()
{
char error_msg[][10] = {"Error1", "Error2", "Error3"};
char** perr;
perr = error_msg[0];
printf("%s", perr);
}
==================================================================
感谢,又有了些收获~!
ForestDB
2006-05-19
打赏
举报
回复
不好意思哈,上面的demo是错的,这个才是。
#include <stdio.h>
int main()
{
char* error[] = {"Erro1", "Error2", "Error3"};
char** p;
p = &error[1];
printf("%s", *p);
}
lgwray
2006-05-19
打赏
举报
回复
也可以看成是二维字符数组,如果定义:
char** Table;
则Table 指向二维数组首地址,类型为二维数组第一维首元素,这里为(char*)
*Table 指向二维数组首地址,类型为二维数组第二维首元素,这里为(char)
ForestDB
2006-05-19
打赏
举报
回复
agcty(do it professionally) ( ) 信誉:100 2006-05-18 22:54:00 得分: 0
char*常用于字符串
char**常用于字符串数组
=========================
如上,一下是段demo
#include <stdio.h>
main()
{
char error_msg[][10] = {"Error1", "Error2", "Error3"};
char** perr;
perr = error_msg[0];
printf("%s", perr);
}
ForestDB
2006-05-19
打赏
举报
回复
从工程的角度讲,一般在C中用char*表示string类型。
如char* appName = "hello world";
那么char**就可以理解为指向string的指针。
既char** pAppName = &appName;
这样就可以用pAppName指向不同的string啦。
agct
2006-05-18
打赏
举报
回复
char*常用于字符串
char**常用于字符串数组
晨星
2006-05-18
打赏
举报
回复
是啊,“char*”也是一种类型,这种类型的变量也可以被指针指向,指向它的指针就是“char**”型的。
jixingzhong
2006-05-18
打赏
举报
回复
指针的指针,
保存指针的地址 ...
char ch; //字符
char *a=&ch; //ch 的地址
char **b=&a; //a 的地址
那么有:
*b == a
*a == ch
**b == ch .......
LoveCreatesBeauty
2006-05-18
打赏
举报
回复
>char *a为定义一个字符型指针变量那么char **a 定义的是什么呢
char * —— 指向 char 的指针
char ** —— 指向 char * 的指针
nanlan1984
2006-05-17
打赏
举报
回复
在char **a中
a是指向(**a)的地址(*a)的指针
也就是说a是一个指针
它指向一个地址
而这个地址中存储的也是一个指针
这个指针指向一个字符型数据(即**a)
l_xiaofeng
2006-05-17
打赏
举报
回复
指向指针的指针
chenhu_doc
2006-05-17
打赏
举报
回复
char **a 定义的是什么
trans(char *a)
{
//code
}
fun()
{
char a[N];
trans(a);
}
trans(char **a) // trans(char &*a)
{
//code
}
fun()
{
char a[N][m];
trans(a);
}
char
* 和const
char
*的区别
当指向字符串(常量)时,const
char
*和
char
*是没有区别的,但是const
char
*能更为显示地通过 const 提醒你不能通过指针对常量字符串进行修改,
char
* 也不能对字符串常量进行修改,但是没有显示的写上const,两者在使用上是一样的。为什么const
char
*就是针对字符串是用的呢,因为这是一个常量指针,字符串是常量,而且是存储在系统负责管理的常量存储区中的,编译器无权对其进行修改。对传入的参数,不会对指针指向的内容进行修改。
char
*指针指向的内容是可以改变的,是不固定的。
关于const
char
*和
char
*、const
char
** 和
char
** 赋值问题
根据ANSI C标准的赋值约束条件: 1. 两个操作数都是指向有限定符或无限定符的相容类型的指针。 2. 左边指针所指向的类型必须具有右边指针所指向类型的全部限定符。 一、const
char
*和
char
* const
char
*的类型是:“指向一个具有const限定符的
char
类型的指针”。(不能修改其值)
char
*的类型是:“指向一个
char
类型的指
C++指针之const
char
*、
char
const*、
char
const* const
C++指针之const
char
*、
char
const*、
char
const* const前言一、指针的数组和数组的指针1、指针的数组 T*t [ ]2、数组的指针T(*t)[ ]二、使用步骤1.关于const 修饰的部分2.const
char
*、
char
* const、
char
const* const 的区别总结 前言 本文将简单介绍一个C++中指针的const
char
*、
char
* const、
char
const* const 的区别 一、指针的数组和数组的指针 1、指针的数组 T*t [
char
*与string的区别
char
* 与string的本质区别是string是一个容器,c++在中封装了一个string类,功能极其强大,而
char
*则是一个指针,指向一个数组的首地址。
char
*向string转换支持隐式类型转换,即:
char
* c[ ] = {1,2,3}; string p = c ; 而string转
char
*一般需要用到一个c_str()函数;
char
* c = p.c_str(); ...
char
** str的使用
其实
char
** str 这个类型就是一个二维数组的指针 我们知道一个
char
* str是可以指向一个字符串的,那么2个*就是指向指针(字符串)的指针,所以(
char
*)*str,
char
*(*str),
char
**str都是一样的。 下面看一个实例就很清楚了 #include "stdio.h" #include "malloc.h" int main() {
char
**str
C语言
70,025
社区成员
243,260
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章