指针的正确分配

问题描述 投票:0回答:1

我正在从Python转换为C,因此在语义和编码习惯上有些生疏。在Python中,一切都被视为对象,并且对象被传递给函数。在C中不是这种情况,因此我想使用指针增加一个整数。这样做的正确分配是什么。我想通过以下方式进行操作,但是分配错误:

#include <stdio.h>
int i = 24;
int increment(*i){
*i++;
return i;
}
int main() {
increment(&i);
printf("i = %d,  i);
return 0;
}
pointers
1个回答
0
投票

我已修复您的程序:

#include <stdio.h>
int i = 24;
// changed from i to j in order to avoid confusion.
// note you could declare the return type as void instead
int increment(int *j){
    *j++;
    return *j;
}
int main() {
    increment(&i);
    printf("i = %d", i);
    return 0;
}

您的主要错误是函数参数中缺少int(在printf中也缺少"

© www.soinside.com 2019 - 2024. All rights reserved.