c - 关于双指针的实现,例如语法变化

标签 c pointers

#include <stdio.h>
#include <conio.h>

int main()
{
    int *arr[]={1,2,3,4,5};
    printf("%d\n%d",**arr,**(arr+1));
    return 0;
}

我收到一条警告,例如初始化使指针形成整数而不进行强制转换 实际上我不知道指针如何用于 char 和 int。 任何建议都会产生我的知识。感谢您提前提供的任何帮助。

最佳答案

int *arr[] 声明一个指向整数的指针数组。

由于您尝试使用整数初始化数组(由 int 指针组成),因此您会收到警告“初始化使指针来自整数而不进行强制转换”。

为了能够像问题中那样使用值 1 到 5 初始化数组,您需要将数组声明为整数。

关于c - 关于双指针的实现,例如语法变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18646662/

相关文章:

c - 如何检查void指针是否指向任意低地址?

c++ - 指针间接问题

python - 从共享库中获取枚举定义

c - 返回结构数组

c++ - 指针有大小吗?

pointers - Go 在哪里定义 p.Field(与 (*p).Field 相对)是有效语法,即使 p 是指向结构的指针?

c++ - 创建新对象时使用 `new classObject` 和 `&classObject` 有什么区别?

c - 解析C字符串和多指针C字符串

找不到内存泄漏。凝视1小时

c++ - 人们会推荐哪些工具来查看 gcc/linux 目标文件?