cuốn sách gpt4 ai đã làm

c - Kích thước của con trỏ tới một mảng kiểu int là bao nhiêu?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 05:13:00 26 4
mua khóa gpt4 Nike

Tôi có đoạn mã sau

#include 
int chính(void) {
int mảng[] = {10,20,30,40};
int* ptr = mảng;
printf("%d\n",sizeof(arr));
printf("%d",sizeof(ptr));
return 0;
}

Đầu ra là

16
4

Kích thước của con trỏ trong C là 4. 'arr' cũng là một con trỏ tới một số nguyên, nhưng kích thước của nó là 16, bằng kích thước của một phần tử nhân với số phần tử. Mặt khác, nếu tôi lưu trữ cùng một con trỏ vào một biến con trỏ khác thì kích thước của nó sẽ trở thành 4. Điều này rất khó hiểu. Điều tương tự cũng xảy ra nếu tôi cố gắng gửi mảng dưới dạng tham số cho một hàm và sau đó in kích thước của mảng trong hàm đó. C xử lý con trỏ tới mảng như thế nào?

câu trả lời hay nhất

'arr' cũng là một con trỏ tới số nguyên

Không, không phải vậy. arr là một mảng. Kích thước của mảng bằng kích thước của các phần tử nhân với số phần tử. Nếu là con trỏ thì kích thước của nó sẽ giống như mọi con trỏ khác.

C xử lý con trỏ của mảng như thế nào?

C xử lý các con trỏ tới mảng giống như tất cả các con trỏ khác. Tuy nhiên, không có con trỏ tới mảng trong mã của bạn, chỉ có con trỏ tới int (ptr) con trỏ.

Về c - kích thước của một con trỏ tới một mảng kiểu int là bao nhiêu? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/25686723/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress