我查询了如何为字符分配指针
示例程序:
#include <stdio.h>
void main()
{
const char str1[]="MANCHESTER";
char *q;
q=str1;
*q='A';
printf("%s\n",q);
}
在上面的程序中,我正在为字符串“str1”,
分配一个字符指针当我用gcc编译程序时,我收到以下警告:
ptr3.c:在函数'main'中:
ptr3.c:7:3:警告:赋值从指针目标类型中丢弃限定符
我无法理解警告的含义。
答案 0 :(得分:1)
警告我得到:
2: warning: return type of 'main' is not 'int'
: In function 'main':
7: warning: implicit declaration of function 'printf'
7: warning: incompatible implicit declaration of built-in function 'printf'
添加include stdio.h并返回int,修复那些。
#include <stdio.h>
int main()
{
char str1[]="MANCHESTER";
char *q;
q=str1;
*q='A';
printf("%s\n",q);
return 0;
}
编辑: 我猜你不应该将char数组声明为const,如果你计划直接或间接通过另一个指针修改它