主题:【求助】向各位高手请教一个c语言中数组与指针的问题 -- 数值分析
共:💬84 🌺26
复 del
b[0]=&a[0][0]推不出b[1]=&a[1][0]。在你的例子中,b[1]作为一个指针未被赋值,指针未被赋值就使用有什么后果应该知道吧。
再说一遍吧:b是指针变量,它的值是一个指针变量的地址;b[i]也是一个指针变量,它的值是一个整数变量的地址。a本身不是变量,你可以把它看做二维数组头地址的缩写;a[i]是数组a第i行头地址的缩写,不是变量。&a[i]导致语法错误,而&b[i]是合法的,它的值等于b+i *(int* 的长度);作为对照:a[i](不是&a[i])的值等于a+i * K *(int 的长度),其中K是最后一维的维数。麻烦的是C语言中上述两个值的表达式非常相似,分别是b+i和a+i。哈哈,头疼了吧。