- VisualStudio2022
- pprof-Hướng dẫn sử dụng nó trong bản mạng trực tiếp
- Triển khai C# các loại hộp chọn nhiều màu lựa chọn thả xuống, cây lựa chọn nhiều màu lựa chọn thả xuống và các nút tối đa
- [Ghi chú học tập] Cơ sở dữ liệu cấu trúc: cat tree
Team Chờ đợi một vài ngày nữa để mình nói xong phần Mục cây trước (vì sau này trên cây có nhiều thứ cần phải Bệnh cây để tính) LCA).
Một biến chứa địa chỉ của một biến được gọi là con trỏ.
Đây là một định nghĩa sơ bộ nhưng Defad cho rằng định nghĩa này không dễ hiểu nên chúng ta sẽ không xem xét nó nữa.
Máy tính của chúng tôi đều có bộ nhớ truy cập ngẫu nhiên (RAM), chính là thẻ nhớ.
Sau đó, thẻ nhớ của tôi là một mảng và rõ ràng địa chỉ là 0. .
Điều này cũng giải thích tại sao không thể sử dụng NULL, vì phần \(0\)th thường không được sử dụng.
Hiện tại chúng ta có một số nguyên biến x.
int x;
Dấu x này ở đâu trong thẻ nhớ?
& có thể lấy chỉ số dưới của biến trong thẻ nhớ, do đó, chỉ số dưới của x là &x..
Vậy làm cách nào để truy cập vào &x thẻ nhớ?
Vừa rồi chúng tôi đã nói rằng bộ nhớ tiêu đề địa chỉ là 0. Theo phương pháp truy cập mảng truy cập, chúng tôi có thể nghĩ đến việc use 0[&x] để truy cập biến x.
Tôi không viết một cách mù quáng, tôi chỉ nghĩ cách này dễ hiểu hơn khi thực sự sử dụng thì người viết bài này nên cắt làm double.
Vì vậy, hiện tại chúng tôi sử dụng một biến để lưu trữ số chỉ dưới của x.
int *p = &x;
Kiểu int* đại diện cho một kho lưu trữ chỉ số dưới của biến int trong thẻ nhớ.
Vì vậy, chúng tôi có thể sử dụng p thay vì &x là 0[p].
Nhưng bây giờ chúng ta có đường cú pháp... .
*p có nghĩa là 0[p], vì bản chất của công việc truy cập mảng là chuyển động của con trỏ. Ví dụ: a[3] thực tế là *(a + (3)).
Vì vậy, chúng tôi có thể sử dụng *p để truy cập các số dưới đây được lưu bởi p trong thẻ nhớ.
Điều tương tự cũng xảy ra với *&x, nhưng vì tất cả các biến của bạn đều ở đây nên bạn không cần phải xóa chỉ số dưới và truy cập lại số dưới.
Chúng ta có một ngăn xếp lưu trữ các chức năng mà chúng ta gọi và các biến thể được mở bên trong hàm, được gọi là phá tổ hệ system.
Nhưng vấn đề là điều này lại là biến chúng ta truyền vào hàm có giá trị được truyền vào và hàm không biết nên thay đổi giá trị hoặc biến chính.
Bây giờ mọi việc dễ dàng hơn nhiều khi chúng ta có con trỏ.
Ví dụ: write chức năng thay đổi...
void Exchange(int *x, int *y) { *x ^= *y; *y ^= *x; *x ^= *y }
Bạn có thể chuyển địa chỉ và thực hiện trao đổi nội bộ.
Nếu vừa rồi tôi không đề cập đến địa chỉ thì đó sẽ là số chỉ dưới của thẻ nhớ.
Ngoài ra, chúng tôi có thể xin một phần bộ nhớ và giải nén nó sau khi sử dụng.
// Làm gì đó miễn phí ở đây(a); // Làm gì đó miễn phí ở đây(a);
Cái được áp dụng có thể được sử dụng như một mảng hoặc một biến và yêu cầu truy cập con trỏ (tương tự *p).
Ví dụ: một nút trong cây cân bằng được bổ sung khi được và chèn được giải nén khi bị xóa.
Điều này thực sự tương thích với một cơ chế thu gom rác.
Cơ chế thu gom rác có nghĩa là, ví dụ: khi một nút bị xóa trong cây cân bằng, nút mới được tạo tiếp theo sẽ được lấy trực tiếp từ nút mới đã bị xóa.
Cuối cùng, bài viết về con trỏ và bản chất của ngôn ngữ C kết thúc tại đây. blog tương lai .
#include sử dụng không gian tên std; lớp C{ riêng: giá trị int công khai: C(){ value = 0;
Câu hỏi này đã có câu trả lời: Sự khác biệt giữa char a[] = ?string?; và char *p = ?string?;?
Bạn muốn cải thiện câu hỏi này? đã được 8 tháng rồi
Ngoài ra, việc gỡ lỗi còn có bất kỳ công cụ kiểm tra nào cho c, c++ hoặc c# hoạt động tương tự như các hàm độc lập được sao chép vào một số hộp bản văn rồi nhập tham số vào các hộp văn bản khác? vị trí.
Tôi muốn chuyển một cửa sổ (HWND) sang màn hình thứ hai. Mọi người đều quan tâm đến cách thực hiện công việc này trong C/C++/C# sẽ hữu ích nhất
Tôi đang tìm kiếm các phát triển hiện có của các loại DES khác nhau trong C/C++/C## nền tảng chạy của tôi là Windows XP/Vista/7. cố gắng viết chương trình C# sẽ sử dụng DES thuật toán để mã hóa và giải mã Tôi cần một số thực tế.
Thật khó để nói những gì để hỏi ở đây. không thể trả lời hợp lý ở dạng hiện tại. truy cập trợ giúp trung tâm Đóng 1.
Có cách nào để buộc một cửa sổ khác ở cùng không? đang chạy trên hệ thống (Windows, C/C++/C#) Câu trả lời hay nhấtSetWindowPos(that_window_ha
Giả sử bạn có lựa chọn giữa C/C++ hoặc Csharp và bạn dự kiến chạy nhiều phiên bản của cùng một máy chủ trên máy chủ Windows và Linux, đâu là lựa chọn thông minh nhất để xây dựng một ứng dụng socket máy chủ? Câu trả lời tốt nhất là như
Bạn có thể cho tôi biết sự khác biệt giữa chúng không? Nhân tiện, có thứ gì được gọi là thư viện C++ hay thư viện C không? lời khuyên hay nhất Thư viện chuẩn C++ và thư viện C là các thư viện được xác định theo tiêu chuẩn C++ và C và được cung cấp để sử dụng các chương trình C++ và C. Đó là điểm chung của những từ đó
#include #include lớp C { công khai:
Thật khó để nói những điều đang thắc mắc ở đây. biện hộ và không thể trả lời hợp lý ở dạng hiện tại. mở lại, hãy truy cập vào trung tâm trợ giúp Đã đóng.
Hủy bỏ ý nghĩ tôi sẽ viết máy chủ sử dụng C++. Sẽ có nhiều lớp khác nhau được thiết kế thông minh. tôi nghĩ tôi có lý nên sử dụng
Tôi có hàm sau trong C#: public Matrix ConcatDescriptors(IList> descriptors) { int cols = descriptors[0].Co
Tôi có một dự án mà tôi phải viết một hàm để thực hiện một số thao tác được xác định rõ nhất trên một số dữ liệu. Thay vào đó, tôi chỉ muốn anh ấy có quyền gọi bằng mã hóa của riêng mình không?
Tôi đang sử dụng API thứ 3 (C/C++) được viết một cách thân thiện. xảy ra "Lỗi vi phạm quyền truy cập". Điều này làm hỏng toàn bộ ứng dụng. [nếu con trỏ truy cập vào bộ nhớ vị trí không hợp lệ, vv
đóng cửa. Câu hỏi này không có thủ tục nguyên tắc của Stack Overflow. các câu hỏi tìm kiếm xuất bản về sách, công cụ, thư viện phần mềm, vv Bạn có thể chỉnh sửa câu hỏi của mình to return bằng sự kiện và trích dẫn. Đóng cửa 7 năm trước
Đã đóng cửa. Câu hỏi này không tuân thủ nguyên tắc Stack Overflow. Câu trả lời không được chấp nhận vào thời điểm này. Các câu hỏi yêu cầu chúng tôi giới thiệu hoặc tìm các công cụ, thư viện hoặc tài nguyên bên ngoài trang web yêu thích đều không có chủ đề đối với Stack Overflow vì
Tôi có một số mã C sẽ được gọi từ C# bằng P/Invoke. Tôi đang cố gắng xác định tương đương C# cho hàm C này. SomeData* DoSomething(); struct SomeData {
Câu hỏi này đã có câu trả lời: Tại sao các cấu trúc này sử dụng hành vi không xác định trước và sau tăng? (14 câu trả lời) Đã đóng 6
Tôi là một lập trình viên xuất sắc, rất xuất sắc!