[英]Getting value from a pointer parameter of a function in C
當我開始在大學學習時,我們正在學習如何用C語言編寫,我們已經知道我可以使用指針作為函數參數,但他們沒有告訴我們的是如何從中獲取值它。 我不能作為一個不太了解C的人,想出其他解決方案,而不是使用兩個參數(一個作為變量的指針,另一個作為值。請參閱示例,這不是真正的代碼,但它只是為了示范:
int main(int argc, char* argv []) {
int a;
addNumber(&a);
}
void addNumber(int * a) {
*a = *a + 1; // this obviously does not work
}
任何輸入將不勝感激。 謝謝!
只有一個重大的事情:你忘了初始化a
。 否則,它看起來很好。
int a = 0;
addNumber(&a);
唯一的另一件事是您缺少main
的return語句。
這是一個可能更接近您所尋找的示例:
#include <stdio.h>
void increment(int *a, int *b)
{
*a = *a + *b;
}
int main(void)
{
int sum = 5;
int increment_by = 7;
printf("sum: %d, increment_by: %d\n", sum, increment_by);
increment(&sum, &increment_by);
printf("sum: %d, increment_by: %d\n", sum, increment_by);
return 0;
}
輸出:
$ ./bar
sum: 5, increment_by: 7
sum: 12, increment_by: 7
它會工作。 如果你初始化a
值,它會更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.