extern 的用法

  • 從0到1,迴歸基礎,夯實基礎 ,點滴積累,成就未來

例1:

file1.c

#include <stdio.h>
int externA
int main()
{
    int power(int n);
    int b = 3, c, d, m;
    printf("input a and m :\n");
    scanf_s("%d%d", &externA, &m);
    c = externA*b;
    printf("%d*%d=%d\n", externA, b, c);
    d = power(m);
    printf("%d**%d=%d\n", externA, m, d);

    system("pause");
    return 0;
}

file2.c
添加extern 函數可以使file1中定義的外部變量的作用域擴展到本文件;

extern externA;//使file1中定義的外部變量的作用域擴展到本文件;
int power(int n)
{
    int i, y = 1;
    for (int i = 0; i <= n; i++)
    {
        y *= externA;
    }
    return y;

}

//extern 在main中函數聲明使用,調用其他文件的外部函數;

例2:

f1.c

#include <stdio.h>
int main()
{
    extern void enter_string(char str[]);
    extern void delete_string(char str[], char ch);
    extern void print_string(char str[]);

    char c, str[80];
    enter_string(str);
    printf("a delete char :");
    scanf_s("%c", &c);
    delete_string(str, c);
    print_string(str);

    return 0;

}

f2.c

void enter_string(char str[80])
{
    gets(str);
}

f3.c

void delete_string(char str[], char ch)
{
    int i, j;
    for (i = j = 0; str[i] != '\0'; i++)//
        if (str[i] != ch)//如果str[i]!=ch 則保留到str[j++]中;
            str[j++] = str[i];
    str[j] = '\0';
}

f4.c

void print_string(char str[])
{
    printf("%s\n", str);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章