gpt4 book ai didi

可以直接将值赋给指针吗?

转载 作者:行者123 更新时间:2023-11-30 14:55:38 25 4
gpt4 key购买 nike

我无法理解以下代码中对 string2 的赋值:

#include <stdio.h>

void copy1( char * const s1, const char * const s2 ); /* prototype */
void copy2( char *s1, const char *s2 ); /* prototype */

int main( void )
{
char string1[ 10 ]; /* create array string1 */
char *string2 = "Hello"; /* create a pointer to a string */
char string3[ 10 ]; /* create array string3 */
char string4[] = "Good Bye"; /* create a pointer to a string */

我认为指针只能初始化为 NULL、0 或地址。可以直接将值赋给 char * 数据类型吗?

最佳答案

指针变量可以被赋值为NULL(定义为0)、变量的地址或另一个指针的值。字符串文字的类型为 char[],普通数组类型可以衰减为指针,因此您可以将字符串文字分配给 string2string4.这与调用 print("Good Bye"); 相同,您将衰减的 char* 传递给 printf

关于可以直接将值赋给指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45664926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com