
不能将int类型的值分配到int类型的实体,是什么意思?例如int *a[10];a[0]=j-i;(i、j均为指针)。
3个回答
展开全部
a[0]是指针,而 j-i 是 两个指针相距几个元素,j-i 是整形不是指针,所以不能对a[0]赋值。
追问
那么我声明一个数组如:char *p[10];是不是表示10个类型为char的指针,也就是说p[i]是只向char类型的指针,那么我在这里并没有定义指针所指向的char类型的大小,那么这个指针何时是个边界啊?
追答
char *p[10]; //此时p[i]是野指针,它的值是随机的,所以指向的不是合法内存。必须逐个元素赋值才能用。
比如
for (int i = 0; i < 10; ++i)
{
p[i] = (char * )malloc(10*sizeof(char));
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询