C语言数组变量的值不能改变什么意思?我们用 array[a][b]=array[b][a]实现矩

C语言数组变量的值不能改变什么意思?我们用 array[a][b]=array[b][a]实现矩阵转置的输出不是改变了变量的值吗?求解答!谢谢!

数组名是个标号,不是一个变量,a只是a[0],a[1],a[2],a[3]的起始地址,编译程序在你后面用到a时会自动用a[0]的地址替换,那么你给这个标号赋值是非法的。数组名为a,可以拿它当成指针来用数组名是地址,但这个地址是固定不能被程序改变的,指针变量有自己的存放地址,可以修改,指针在使用时,与数组名差不多用法a[4]不是数组名,只是数组声明语句中表示数组名a对应的数组有几个元素,数组名是一种常量的表示法,而你文中类型标示符*变量名是指针变量的写法,虽然我们说数组名与指针的用法相同,但它们不是同一种对象。指针常量b的例子:intc[10];constint*b=c;使用时可以(*b)=5;或b[5]=6;如同c[0]=5;或c[5]=6;是同样的赋值
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网