我有一个typedef int my_type,我有一个看起来像
的函数void my_func (my_type* x);
我应该如何使用此函数使用最佳实践修改x?
答案 0 :(得分:10)
您可以在函数中使用解除引用运算符'*':
void my_func (my_type* x)
{
assert(x); // To protect from NULL pointer as mentioned in com.
*x = 5; //for example
}
答案 1 :(得分:2)
如果你使用typedef,你基本上创建一个新类型。与所有其他类型一样,只需使用类似任何其他类型的类型。只要确保与typed一致 - 如果你使用my_type作为变量,那么就可以在任何地方使用该变量。如果将该类型传递给函数,则在函数中使用该类型,即使您知道该类型只是一个int。等等...
答案 2 :(得分:1)
如果您想通过作业修改使用claferri的答案。如果要修改成员(如果my_type是结构),请执行:
void my_func(my_type* x) {
x->member = 5;
}
答案 3 :(得分:1)
使用*运算符取消引用x!