- vừa được xem lúc

memcpy () trong c

0 0 1

Người đăng: Nguyễn Đặng Triều

Theo Viblo Asia

#include <stdio.h>
#include <string.h>
#include <stdint.h> // Cú pháp: void *memcpy(void* dest, const void *src, size_t n);
int main()
{ char src[] = "Hello World"; char dest[20]; uint8_t arr[] = { 1, 2, 3, 4}; uint32_t arr_variable; // Copy 13 bytes từ src sang dest memcpy(dest, src, strlen(src) + 1); // + 1 là thêm vị trí cho kí tự \n printf("Source: %s\n", src); printf("Destination: %s\n", dest); printf("dest[0] = %c\n", dest[0]); // Thử nghiệm với mảng printf("arr[0]: 0x%02X\n",arr[0]); memcpy(&arr_variable, arr, sizeof(arr_variable)); printf("arr_variable = %d\n", arr_variable); printf("arr_variable = 0x%X\n", arr_variable);
}

Output:

Source: Hello World
Destination: Hello World
dest[0] = H
arr[0]: 0x01
arr_variable = 67305985
arr_variable = 0x4030201

Qua kết quả trên ta nhận thấy được kết quả khi copy giá trị từ array sang 1 biến trong c bằng hàm memcpy() là như thế nào

  • Byte đầu tiên trong biến thì sẽ tương ứng với phần tử arr[0], và cứ tiếp tục lần lượt như vậy.
  • Thứ tự sắp xếp các phần tự trong arr vào arr_variable dựa vào little-endian (nghĩa là byte thấp, ít quan trọng nhất LSB sẽ đặt vào memory trước).

Bình luận

Bài viết tương tự

- vừa được xem lúc

Memory layout của một chương trình C/C++

1. Đặt Vấn Đề.

0 0 54

- vừa được xem lúc

Sự khác nhau giữa bộ nhớ Heap và bộ nhớ Stack trong lập trình

1. Giới thiệu. . Như chúng ta đã biết thì việc Quản lý bộ nhớ đối với một lập trình viên là rất quan trọng.

0 0 67

- vừa được xem lúc

Tích hợp thư viện C/C++ vào một dự án Flutter như thế nào?

Chào các bạn hôm nay rảnh rỗi thì mình viết một bài hướng dẫn về cách tích hợp một thư viện C/C++ vào một dự án Flutter. Thì cũng khá đơn giãn thôi vì Flutter đã cũng cấp cho chúng ta một thư viện khá

0 0 71

- vừa được xem lúc

Programming

Definition of Programming. .

0 0 48

- vừa được xem lúc

Gọi hàm của C++ trong Python bằng ctypes

Nếu đã từng dùng qua các thư viện liên quan đến toán học của Python như numpy, các bạn sẽ để ý thấy các nó có tốc độ xử lý rất nhanh. Điều này là do một phần của package này được viết bằng C/C++ và ph

0 0 49

- vừa được xem lúc

Build ứng dụng Cross Platform với Go và CGO

1. Giới thiệu.

0 0 47