【发布时间】:2018-05-30 05:56:54
【问题描述】:
我正在尝试编写一个 C 代码,其中一个指针可以指向数组中的所有元素。但是,在我取消引用指针后,我得到了 Segmentation Fault 错误。
我的代码如下:
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
void func_equal(int32_t *input, uint8_t *output)
{
for (int i= 0; i < 4; i++)
{
output[i]= input[i];
}
}
int main()
{
uint8_t* my_point;
int32_t someNum[4];
for (int i= 0; i < 4; i++)
{
someNum[i]= 2 + (4*i);
}
func_equal(someNum, my_point);
printf("my_point (dereferenced) is %d\n", *(my_point));
printf("---------\n");
for (int i= 0 ; i < 4; i++)
{
printf("my_point (dereferenced) is %d\n", *(my_point+i));
}
return 0;
}
从我的代码中可以看出,我创建了一个名为my_point 的指针,我想让它指向数组someNum。但是,当我运行代码 here 时,我得到以下输出:
my_point (dereferenced) is 2
---------
Segmentation fault
如何修改my_point 以指向someNum 中的所有元素?
【问题讨论】: