Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Ý nghĩa của NULL, calloc, sizeof là gì???????

  1. #1
    Ngày gia nhập
    12 2010
    Bài viết
    33

    Exclamation Ý nghĩa của NULL, calloc, sizeof là gì???????

    đây là bài thực hiện nội suy hàm bằng đa thức nội suy Lagrange, mình mới học C nên chưa biết nhiều lắm. ai có thể cho mình biết cách dùng, ý nghĩa của calloc, malloc, sizeof, NULL được k? Mình chỉ biết những hàm ấy dùng để cấp phát bộ nhớ động thôi
    C Code:
    1. #include "conio.h"
    2. #include "stdio.h"
    3. #include "alloc.h"
    4. #include "stdlib.h"
    5. float Lagrange(float *x, float *y, int n, float x1)
    6. {
    7.  int i,j;
    8.  float p,f; f=0;
    9.  for (i=0;i<=n;i++)
    10.  { p=1;
    11.     for(j=0;j<=n;j++)
    12.     if(i!=j)
    13.     p*=(x1-x[j])/(x[i]-x[j]);
    14.     f+=p*y[i];
    15.  }
    16. return f;
    17. }
    18. void main()
    19. {
    20.  float *x, *y, f, x1;
    21.  int i,n;
    22.  clrscr();
    23.  printf ("LAGRANGE\n");
    24.  printf ("Nhap so moc noi suy:"); scanf("%d",&n);
    25.  x =(float*) calloc (n+1, sizeof (float));
    26.  y =(float*)calloc (n+1, sizeof (float));
    27. if (x==NULL || y==NULL)
    28.  {
    29.   printf ("Loi cap phat bo nho");
    30.   getch();
    31.   exit (1);
    32.  }
    33. printf ("NHAP CAC MOC NOI SUY:");
    34. for (i=0;i<=n;i++)
    35. {
    36.  printf ("\nNhap moc noi suy thu %d",i);
    37.  printf ("\nx[%d]=",i); scanf ("%f", &x1); x[i]=x1;
    38.  printf ("\ny[%d]=",i); scanf ("%f", &x1); y[i]=x1;
    39. }
    40. printf ("\nNhap x*=");
    41. scanf ("%f", &x1);
    42. f=Lagrange (x,y,n,x1);
    43. printf ("f[%.6f]=%.6f",x1,f);
    44. getch();
    45. }
    Đã được chỉnh sửa lần cuối bởi hoangkianh31592 : 12-02-2011 lúc 07:11 PM.

  2. #2
    Ngày gia nhập
    09 2010
    Bài viết
    487

    1. NULL là một hằng số được định nghĩa trong thư viện C++ dùng để biểu thị con trỏ null, null có giá trị là 0.

    2. Hàm malloc là hàm để cấp phát bộ nhớ và trả về địa chỉ đầu tiên của bộ nhớ được cấp phát.
    Đây là một hàm tổng quát để cấp phát bộ nhớ động cho con trỏ.
    Cấu trúc của nó là: void * malloc (size_t nbytes);
    trong đó nbytes là số byte chúng ta muốn gán cho con trỏ.

    3. Hàm calloc.
    calloc calloc hoạt động khác với malloc: calloc cấp phát bộ nhớ theo block còn malloc cấp phát từng byte một, sự khác nhau nữa là khai báo mẫu của nó:
    void * calloc (size_t nelements, size_t size);
    nó sử dụng hai tham số thay vì một. Hai tham số này được nhân với nhau để có được kích thước tổng cộng của khối nhớ cần cấp phát. Thông thường tham số đầu tiên (nelements) là số phần tử và tham số thức hai (size) là kích thước của mỗi phần tử.
    Đã được chỉnh sửa lần cuối bởi khoaimon : 12-02-2011 lúc 09:11 PM.
    Một mình ngồi khóc ngoài trời bão tố người đi...


  3. #3
    Ngày gia nhập
    12 2010
    Bài viết
    33

    C Code:
    1. x =(float*) calloc (n+1, sizeof (float));
    vậy còn toán tử sizeof? anh có thể giải thích giúp em câu lệnh trên k?

  4. #4
    Ngày gia nhập
    09 2010
    Bài viết
    487

    sizeof()
    Toán tử này có một tham số, đó có thể là một kiểu dữ liệu hay là một biến và trả về kích cỡ bằng byte của kiểu hay đối tượng đó.
    a = sizeof (char);
    a sẽ mang giá trị 1 vì kiểu char luôn có kích cỡ 1 byte trên mọi hệ thống. Giá trị trả về của sizeof là một hằng số vì vậy nó luôn luôn được tính trước khi chương trình thực hiện.
    <trích: cộng đồng C Việt>.

    Em đính chính em là chị không phải anh nhé! Bác muốn em ế sao?
    Một mình ngồi khóc ngoài trời bão tố người đi...


  5. #5
    Ngày gia nhập
    12 2010
    Bài viết
    33

    what? I'm sorry

  6. #6
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,918

    Mặc định Ý nghĩa của NULL, calloc, sizeof là gì???????

    Hi,
    sizeof trả về số byte của kiểu.

Các đề tài tương tự

  1. sizeof trong C++ có ý nghĩa gì?
    Gửi bởi nguyendima trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 04-01-2013, 08:42 PM
  2. Kỹ thuật C Ý nghĩa của sizeof??
    Gửi bởi lytieubinh_269 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 11-10-2011, 10:24 PM
  3. (p = strtok(NULL, " ")!=NULL có ý nghĩa gì?
    Gửi bởi manhhao19 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 10-10-2011, 08:03 PM
  4. Vì sao không thể tái định nghĩa các toán tử . .* :: ?: sizeof?
    Gửi bởi ngoclam00 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 28-03-2011, 09:31 AM
  5. [ Solved ]Tại sao sizeof(int)=sizeof(long) ?
    Gửi bởi vampirehl trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 8
    Bài viết cuối: 19-11-2008, 02:03 AM

Tags của đề tài này

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn