sách gpt4 ai đã đi

Tên mảng trong tham số hàm được xử lý khác với mảng được khai báo cục bộ (tự động)

In lại 作者:太空宇宙 更新时间:2023-11-04 00:10:28 28 4
mua khóa gpt4 Nike

请阅读下面程序中的评论:

#include 
void test(char c[])
{
c=c+2; //why does this work ?
c--;
printf("%c",*c);
}
int chính()
{
char ch[5]={'p','o','u','r'};
//ch = ch+2; //this is definitely not allowed on array names as they are not pointers
test(ch);

trả về 0;
}

OUTPUT
ôi

1 Câu trả lời

您应该记住,数组的名称“衰减”为指向其第一个元素的指针。这意味着 test(ch); 等同于 test(&ch[0]);.

此外,void test(char c[]) 只不过是 void test(char* c),一个指向字符的指针。指针Có thể递增或递减,这就是为什么c = c + 2c-- 编译得很好。

关于c - 函数参数中的数组名称的处理方式是否与本地声明的数组不同(自动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56305561/

28 4 0
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com