永发信息网

char x[3][5]={"aa","bb"};与char *x[3]{"aa","bb"};的区别

答案:2  悬赏:10  手机版
解决时间 2021-01-05 00:18
  • 提问者网友:人傍凄凉立暮秋
  • 2021-01-04 08:02
char x[3][5]={"aa","bb"};与char *x[3]{"aa","bb"};的区别
最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-01-10 06:39
char x1[3][5]={"aa","bb"}; 分配给x1的是3*5的一段空间,它的element可以理解为是排列整齐的一个个数据单元,可以用来写入和读取数据。
char *x2[3]={"aa","bb"}; 分配给x2的是一个长度为3的指针数组。它的element是指针,我们只能修改指针的指向,但是它指向的空间是否可以读写,要看那段空间的类型了。

这样说起来比较抽象,打个比方可能会比较容易理解:
x1这样初始化,系统是给了你几个txt文本,你完全可以在里面读写数据。
x2这样初始化,系统只是给了你几个快捷方式.文件是否可用,你得看文件的属性。
全部回答
  • 1楼网友:话散在刀尖上
  • 2021-01-10 06:47
x[3][5],开辟了三组长度为5的内存空间 *x[3],是三个指向字符串的指针数组
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯