[ภาษา C] เป็นงงกับคำสั่ง malloc

[code]#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
  int i, num;
  char* buffer;
  printf("Please input number random string length  : ");
  scanf("%d", &num);

  buffer = (char*)malloc((num + 1) * sizeof(char));
  // ตรงนี้อ่ะครับ ทำไมในวงเล็บ (char*) ทำไมมันมีเครื่องหมาย * ด้วยครับ
  // แล้วมันหมายความว่าอะไรครับ ขอบคุณมากครับ

  if (buffer == NULL)
  {
    printf("Can't allocate memory by malloc:\n");
  }
  else
  {
    for (i = 0; i < num; i++)
    {
      buffer = rand() % 26 + 'a';
    }
    buffer[num] = '\0';
    printf("Random string: %s\n", buffer);
  }
  free(buffer);
  _getch();
  return 0;
}
[/code]
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่