【发布时间】:2016-11-03 12:31:56
【问题描述】:
下面的代码可以根据需要工作。
void TstPointer(int *Pointer)
{
*Pointer = 3;
}
int main()
{
int number = 1;
int *ptr = &number;
TstPointer(ptr);
printf("%d\n", number);
}
但是当我将类型切换为 char 时它不起作用。
void TstPointer(char *Pointer)
{
*Pointer = "Hell1";
}
int main()
{
char *Hello = "Hello";
TstPointer(Hello);
printf("%s\n", Hello);
}
警告:赋值从没有强制转换的指针生成整数 [-Wint-conversion] *指针=“地狱1”;
【问题讨论】:
-
'H'是一个字符(char),"Hell1"是一个字符串(char的数组) -
请在您的初级 C 编程书中学习指针和字符串的工作原理。