Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
警告\u强制转换。c:在函数中?fn\u打印?:警告\u强制转换。c:5:警告:从不同大小的整数强制转换到指针_C_Pointers_Type Conversion_Compiler Warnings_Gcc Warning - Fatal编程技术网

警告\u强制转换。c:在函数中?fn\u打印?:警告\u强制转换。c:5:警告:从不同大小的整数强制转换到指针

警告\u强制转换。c:在函数中?fn\u打印?:警告\u强制转换。c:5:警告:从不同大小的整数强制转换到指针,c,pointers,type-conversion,compiler-warnings,gcc-warning,C,Pointers,Type Conversion,Compiler Warnings,Gcc Warning,警告\u cast.c:功能中?fn\u打印?: 警告\u cast.c:5:警告:从不同大小的整数转换为指针 #include <stdio.h> void fn_print(unsigned int a) { printf("val = %d\n", *((unsigned int *)a)); } int main() { fn_print(10000); } 替换 printfval=%d\n,*无符号整数*a 也许你想要这个。将地址传递给fn_prin

警告\u cast.c:功能中?fn\u打印?: 警告\u cast.c:5:警告:从不同大小的整数转换为指针

#include <stdio.h>

void fn_print(unsigned int a)
{
    printf("val = %d\n", *((unsigned int *)a));
}

int main()
{
    fn_print(10000);
}
替换


printfval=%d\n,*无符号整数*a 也许你想要这个。将地址传递给fn_print,并在函数中使用*运算符取消对指针的引用

#include <stdio.h>

void fn_print(unsigned int* a)
{
    printf("at address %p we have value %u\n", a, *a);
}

int main()
{
    unsigned int a = 10000;

    fn_print(&a);
}

通过*unsigned int*a你打算做什么?在fn_print中,我需要访问该地址中的值在地址10000处你期望得到什么?实际上,这是一个模型问题,我需要从作为值传递给函数的地址中获取值..在fn_print中,我需要访问该地址中的值必须在将整数强制转换为整数指针时抑制警告,如何实现此目的。不要抑制警告,因为它表明您正在做坏事。void fn_printunsigned int*a{printfval=%d\n,a;}int main{unsigned int x=10000;fn_printunsigned intx;}得到警告again@user2902744您在上述注释中的代码与我的答案没有什么主要区别,请仔细复制。实际上,这是一个模型问题,我需要从作为值传递给函数的地址中获取值。我不应该得到警告,这是怎么可能的?
#include <stdio.h>

void fn_print(unsigned int* a)
{
    printf("at address %p we have value %u\n", a, *a);
}

int main()
{
    unsigned int a = 10000;

    fn_print(&a);
}
#include <stdio.h>

int main()
{
    printf("sizeof(unsigned int)=%u\n", sizeof(unsigned int));
    printf("sizeof(unsigned int*)=%u\n", sizeof(unsigned int*));
}