c语言指针段错误

标签 c pointers

段错误。当我尝试在 C 中运行代码时出现错误。 使用指针时,我在类似情况下没有收到错误。

 #include<stdio.h>
#include<stdlib.h>

int mult(int *w, int u, int v) {
    w[0] = u;
    w[1] = v;
    return 0;
}


int main() {
    int u = 8;
    int v = 2;                
    int *w[2];
    mult(*w, u, v);
    printf("%d%d", w[0], w[1]);
    return 0;
}

最佳答案

您将未初始化的指针传递给函数 mult() 并尝试为该指针引用的内存分配一个值。出现段错误也就不足为奇了。 您的代码的目的是什么?

关于c语言指针段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56264609/

相关文章:

c++ - 使用 Search 方法为普通类型 (int) 和指针的 const 创建数组类

C++ 从指针 vector 中删除

c - 交换变量的两个值

c - C中的段错误示例,但我不知道如何解释

c - 重新分配问题

c++ - 为什么即使我们将指针分配给 NULL,指针指向的对象的大小也不为零?

c - 如何使用函数动态分配字符串?

pointers - 为什么在本 golang 教程中将指针用于结构实例?

c - 如何从输入中读取多种类型?

c - 如何以特定格式打印time_t?