zhh4250
2017-02-24 00:59
采纳率: 100%
浏览 953

c++ 字符串数组 的使用问题。

char* p = new char [100];
char a = 'a';
p[0] = &a;
p[1] = &a;

想问下这样为啥是错的,还想问下这时候指针p可以干啥

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 坤昱 2017-02-24 01:12
    已采纳

    p定义的是一个指针,指向char类型指向100个连续的char数据(数据是在堆中创建出来的),每个数据占一个字节。
    p指向的地址可以接收100个字符,地址存数据方式p="123-/:;()",数据拷贝形式存数据p【1】=0(手机单引号没找,接收0可以不用)。
    你采用数据拷贝形式接收数据 却接收的是数据地址 ,把=后面的&去掉 ,这样接收的是值。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • JunhuanChen 2017-02-24 01:08

    p是char数组而不是char指针数组

    评论
    解决 无用
    打赏 举报
  • zhh4250 2017-02-24 01:16

    不明其理,希望能得到更详细的解释,书上没有找到为啥

    评论
    解决 无用
    打赏 举报