C语言关于出现错误代码C2040 间接寻址级别不同的问题

这里是小白,在研究数组与指针时发现了问题。
在主函数外进行如下声明后程序正常运行:

#include<stdio.h>
#include<string.h>

char str[30] = "Hello world";
char *ptr = str;

void main()
{}

而修改成如下却报错:

#include<stdio.h>
#include<string.h>

char str[30] = "Hello world";
char *ptr;
ptr = str;

void main()
{}

显示

C2040 “ptr”:“int”与“char *”的间接寻址级别不同

C4047 “初始化”:“int”与“char *”的间接级别不同

定义为int型仍然报类似的错 在VS2017与VC6环境情况相同

将两者放入主函数则都没有问题

新人懂得不多 希望各位能够详细解答 多谢了

0

查看全部1条回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!