【发布时间】:2020-06-26 15:41:12
【问题描述】:
我只是想问这个:
在这段代码中我创建了一个字符串和一个指针,将这个字符串分配给指针的正确方法是什么?
char str[10] = "hello";
char* ptr
它是否适用于ptr = str?
如果不是,为什么?
【问题讨论】:
-
你试过了吗?
-
你问的是如何让指针指向字符串?如果是这样,你说的是两个字符串中的哪一个? (字符串常量“hello”,还是包含字符串“hello”的字符数组
str?)鉴于您没有将ptr设为指向const char *的指针,我将假设该数组。对吗? -
您不能将字符串分配给指针。字符串是以空字符结尾的字符数组。您可以将第一个字符的地址分配给一个指针。如果你写
ptr = str,那么ptr将指向str的第一个字符('h' 是在运行时被复制和分配的,而不是字符串常量中的h)。跨度>