簡體   English   中英

從C中函數的指針參數獲取值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM