C:修改通过typedef传递的int指针的最佳方法是什么?

时间:2009-02-12 16:50:31

标签: c pointers typedef

我有一个typedef int my_type,我有一个看起来像

的函数
void my_func (my_type* x);

我应该如何使用此函数使用最佳实践修改x?

4 个答案:

答案 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!