Это должно быть в порядке:
void print(struct Text myTxt) {
printf("%s", myTxt.txt);
}
(Это, конечно, требует, чтобы myTxt.txt заканчивался нулем, но для строки c это обычно так.)
Так, если только ваша строкаВы должны иметь возможность содержать дополнительные нулевые байты, которые вы можете изменить в своем коде так:
struct Text{
char *txt;
};
void print(struct Text myTxt)
{
printf("%s", myTxt.txt);
}
int main()
{
struct Text myText;
myText.txt = "long long test text";
print(myText);
return 0;
}
Вы можете получить длину строки, вызвав
strlen(myTxt.txt);
, что для IIRC требуется:
#include string.h