Chủ đề: Pointer
-
22-06-2014, 08:03 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình hiểu rồi. Cám ơn hai bạn nhiều nhé [IMG]images/smilies/biggrin.png[/IMG]
View more random threads:
- Hỏi về cơ chế quản lý heap trên 1 vùng nhớ tĩnh được cấp phát trước
- [help] số nguyên tố
- Đố mọi người biết đây là phong cách thiết kế nội thất gì?
- Tài liệu hướng dẫn xây dựng ứng dụng iPhone - iOS
- ai làm giúp e bài này được ko ạ
- NSDictionary
trong objective c - Khởi động lập trình Iphone
- Parse Json từ API và hiển thị lên UITableView
- Thắc mắc
- đồ họa trong C
-
22-06-2014, 03:35 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Pointer
Mình mới gặp đoạn code này.
Mã:#include<stdio.h> #include<conio.h> main() { int *q,a[10]={5,4,6,4,3,9,7,8,1,0}; char *p; p=(char*)a; p++; q=(int*)p; printf(" %d",*q); }
-
22-06-2014, 04:07 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cái này là misaligned memory access rồi.
Nếu là int 16bit:
- Big-endian: Kết quả là 4
- Little-endian: Kết quả là 4*2^8=1024.
-
22-06-2014, 05:59 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Trường hợp của bạn là Little endian (http://en.wikipedia.org/wiki/File:Big-little_endian.png) và int 16 bit
Xét a[0] và a[1]:
Mã:a[0] = 5: (first byte) 0000 0101 (second byte) 0000 0000 a[1] = 4: (first byte) 0000 0100 (second byte) 0000 0000 p = a: (first byte) 0000 0101 p++ : (first byte) 0000 0000 q = p: (first byte) 0000 0000 (second byte) 0000 0100 ( lấy từ first byte của a[1])
Vậy q = 1024.
Không chỉ là một biểu tượng của sự quyết tâm và lòng tự hào quốc gia, cột cờ inox ngoại trời còn là biểu tượng của sự chuyên nghiệp và đẳng cấp của một công ty hoặc tổ chức. Việc sử dụng chúng để...
Kiến trúc đẳng cấp với cột cờ inox...