不能将int类型的值分配到int类型的实体,是什么意思?例如int *a[10];a[0]=j-i;(i、j均为指针)。

 我来答
记住一座城
2013-03-02 · TA获得超过728个赞
知道小有建树答主
回答量:1091
采纳率:33%
帮助的人:680万
展开全部
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));
}
helloworldasm
2013-03-02
知道答主
回答量:8
采纳率:0%
帮助的人:3.7万
展开全部
一个是内存地址,一个是地址中存放的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天涯咫尺tb
2024-02-20
知道答主
回答量:50
采纳率:0%
帮助的人:3.8万
展开全部
我碰到的情况是,结构体变量不能直接用整数值赋值,如果这样操作也会报这个错误。例如:结构体变量a清零, a = 0;这是错误的;memset(&a, 0, sizeof(a)); 这样就是对的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式