|
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "string.h"
int main()
{
int NSize = 100;
unsigned int *p = NULL;
int j = 0;
unsigned int val[100];
p = (unsigned int *)malloc(sizeof(int) * NSize);
memset(p, 0, sizeof(int) * 100);
memset(val, 0, sizeof(int ) * 100);
for( j=0; j<5; j++)
{
*(p++) = j;
val[j] = j;
printf("p address:0x%08x context:%d\n",(int)p, *p);
printf("val address:0x%08x context:%d\n",(int)&val[j], val[j]);
}
free(p);
p = NULL;
printf("Hello from Nios II!\n");
return 0;
}
感觉没什么错,但是指针部分赋值总是显示数据调试有问题,请大家帮忙看看,指出哪里问题,谢谢!
调试结果显示:
NSize 100
p 0x0400800e
*p 4294967295
j 5
val
val[0] 0
val[1] 1
val[2] 2
val[3] 3
val[4] 4
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|