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:
- Thắc mắc
- Ae có code ngắn hơn về nhập ma trận xoắn óc ko ????
- A/c giỏi c++ giúp giùm e mấy bài này với.
- [help] số nguyên tố
- Hỏi về Modifier trong lập trình C
- Phát triến ứng dụng Iphone trên iPhone Development SDK
- không dùng được "sqrt"?
- Thắc mắc về đoạn code nhập tên
- Trong thiết kế nội thất, chúng tôi luôn mong muốn làm hài lòng quý khách
- mấy anh coi dùm em bài tập này ạ, cảm ơn mấy anh nhiều
-
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.
Pallet nhựa Long An đã trở thành một trong những lựa chọn phổ biến cho nhu cầu vận chuyển và lưu trữ hàng hóa trong nhiều ngành công nghiệp. Với đặc tính nhẹ nhàng, chắc chắn và dễ vận chuyển, các...
Thanh lý pallet nhựa Long An giá rẻ