社区
C语言
帖子详情
另一指针问题
tyxsoft
2004-09-04 06:01:59
int *p[n];
是定义一个元素为指针的数组,其中的指针都指向int变量
那么请问
char *p[n];
是什么意思,谢谢
...全文
77
9
打赏
收藏
另一指针问题
int *p[n]; 是定义一个元素为指针的数组,其中的指针都指向int变量 那么请问 char *p[n]; 是什么意思,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BlueGenie
2004-09-05
打赏
举报
回复
我认为从语法上讲char* p[n]是定义一个指向字符指针的数组,而char (*p)[n]是定义一个指向一维数组的指针,如:
#include <iostream>
#include <cstdlib>
using namespace std ;
int main() {
char* p[4] ;
char (*p1)[4] ;
cout << "sizeof(p) = " << sizeof(p) << endl
<< "sizeof(p1) = " << sizeof(p1) <<endl ;
system("PAUSE") ;
return 0 ;
}
输出: sizeof(p) = 16 ; sizeof(p1) = 4
从语意上认为char* p[n]不仅可以作为二维数组,作为指向字符串(或字符)的指针数组可能更常见。
#include <iostream>
#include <cstdlib>
using namespace std ;
int main() {
int i, j ;
// 作为指针数组
char* p[] = { "aaaaa", "bbbbbb", "ccccc", "dddddd" } ;
for(i = 0; i < sizeof(p)/sizeof(p[0]); i++)
cout << p[i] << ' ' ;
cout << endl ;
// 作为二维数组
char p1[5][4] ;
char *t = p1[0] ;
for(i = 0; i < 20; i++)
t[i] = 'a'+ i ;
char *p2[5] ;
for(i = 0; i < 5; i++)
p2[i] = p1[i] ;
char (*p3)[4] = p1 ;
for(i = 0; i < 5; i++) {
for(j = 0; j < 4; j++)
cout << p2[i][j] << '-' << p3[i][j] << ' ' ;
cout << endl ;
}
// char **p 作为二维数组
char **p4 = new char*[5] ;
for(i = 0; i < 5; i++)
p4[i] = p1[i] ;
for(i = 0; i < 5; i++) {
for(j = 0; j < 4; j++)
cout << p4[i][j] << ' ' ;
cout << endl ;
}
system("PAUSE") ;
return 0 ;
}
tyxsoft
2004-09-04
打赏
举报
回复
谢谢大家
jk01dingxian
2004-09-04
打赏
举报
回复
呵呵BlueGenie定义的是一个2维数组.你的呢.也是一个2维数组.字符数组里都是一些字符指针.还不是2维数组吗.
hcj2002
2004-09-04
打赏
举报
回复
有意思
wasoxi
2004-09-04
打赏
举报
回复
定义一个指向char*的数组
yijiuqiliu
2004-09-04
打赏
举报
回复
当然是字符类型,数组中每个元素都是字符指针。
BlueGenie
2004-09-04
打赏
举报
回复
给你看个好玩的:
char (*p)[n] ;
ma100
2004-09-04
打赏
举报
回复
是定义一个元素为指针的数组,其中的指针都指向char变量
tyxsoft
2004-09-04
打赏
举报
回复
阻击顶一下先
精通C语言
指针
指针
被誉为C语言的精髓、C本质上是加了一层语法糖的汇编,引进当时先进的函数,保留了汇编强大的地址直接访问功能 ——
指针
,使其高效灵活。本课程是黄强老师对于
指针
的一次专题讲解,相信能给大家带来收获!
再谈C语言
指针
—指向另一
指针
的
指针
今天我们又要学习一个叫做“指向另一
指针
地址”的
指针
。让我们先回顾一下
指针
的概念吧! 当我们程序如下声明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变
有关new出一个
指针
,将该
指针
指向另一个
指针
,释放不掉的
问题
在编写代码的时候,我遇到了这样一个
问题
:定义一个
指针
,将这个
指针
指向另外一个
指针
,在完成特定功能的操作之后,定义的
指针
指向的那个
指针
可能已经被释放,而这时,如果需要释放定义的这个
指针
,就会报错。...
C++指向
指针
的
指针
指向
指针
的
指针
是一种多级间接寻址的形式,或者说是一个
指针
链。通常,一个
指针
包含一个变量的地址。当我们定义一个指向
指针
的
指针
时,第一...当一个目标值被一个
指针
间接指向到另一个
指针
时,访问这个值需要使用两...
彻底搞定C
指针
-指向另一
指针
的
指针
一. 回顾
指针
概念:当我们程序如下申明变量:short int i;char a;short int * pi;程序会在内存某地址空间上为各变量开辟空间,如下图所示。内存地址→6 7 8 9 10 11 12 13 14 15-------------------------...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章