포인터가 있다고 가정하면 char *a
입니다.C에서 구조체 내부에 포인터 할당?
그리고
struct b {
unsigned short num;
unsigned short size;
unsigned char *a;};
어떻게 '는'이 경우에 물건을 할당해야? 감사합니다. .
포인터가 있다고 가정하면 char *a
입니다.C에서 구조체 내부에 포인터 할당?
그리고
struct b {
unsigned short num;
unsigned short size;
unsigned char *a;};
어떻게 '는'이 경우에 물건을 할당해야? 감사합니다. .
에 따라 다릅니다. foo.a
에서 a
은 무엇을 가리 키기를 원합니 까? 그런 다음 :
struct b foo = ...;
foo.a = a;
아니면 foo.a
이 a
의 사본을 가리 키도록 하시겠습니까? 그런 다음 : 당신이 null로 끝나는 문자열이있는 경우 lengthOfA
이 strlen(a)
입니다
struct b foo = ...;
foo.a = malloc(sizeof(char) * lengthOfA);
memcpy(foo.a, a, lengthOfA);
.
동적으로 메모리를 할당하고 pointer a
에 할당되었습니다. struct b
유형의
#define EXAMPLE_SIZE 25
main()
{
struct b sample= { 0, };
sample.a = malloc (EXAMPLE_SIZE * sizeof (unsigned char));
}
b obj;
unsigned char ch = 'F';
obj.a = &ch;
선언 변수는 다음 기존의 메모리 위치에 a
포인트, 또는 당신은 하나 이상의 방법으로 지정할 수 있습니다
struct b buf;
buf.a = (unsigned char *)malloc(YOUR_SIZE_IN_BYTE); // allocated memory for a
// fill content into a here
을 malloc
를 사용하기위한 메모리를 할당
1. 동적으로 메모리 할당 (사용자 입력을 원할 경우)
// you can use realloc also if you want
struct b t1 ;
b.a = malloc(x * sizeof (char));
//then you can read user from input.
2. 초기화가
struct b t2 = {0,4,"hey"};
그것은 무엇을 의미하는지에 무엇'구조체 b'을 따라 literral 문자열을 사용할 수 있지만. – BLUEPIXY