开发者社区> 问答> 正文

C语言中的字符串数组与指针数组的区别是什么呢?

C语言中的字符串数组与指针数组的区别是什么呢?

展开
收起
游客4ztx2pti3xtdw 2022-03-29 21:46:12 494 0
1 条回答
写回答
取消 提交回答
  • 一.字符串数组 字符串数组实际就是char类型的二维数组

    cout << "arr和arr[0]指针同时+1时\n\n"; printf("%d,%d\n", arr+1, arr[0]+1);

    二.指针数组

    printf("arr指向的地址:%d\narr[0]指向的地址:%d\n", arr, arr[0]);
    
    printf("arr所指向的字符串:%s\n", arr);
    printf("arr[0]所指向的字符串:%s\n", arr[0]);
    
    cout << "char* 占" << sizeof(char*) << "字节" << endl;
    

    打印结果,这二个地址会没有任何联系,arr是二维数组的首地址了,它是存储char指针的数组,这个数组中有几个字符串就有arr指针数组中就有几个char的指针,这些char* 的指针指向了我们看到的这些字符串,

    虽然指针数组和字符串数组(二维数组)都能实现相同的功能,但他们的原理是相差地别的,不是一个性质

    2022-03-29 21:49:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载