C++高精度计算问题

想写一个高精度加法程序,先写了一个get函数,程序如下:

#include<iostream>
using namespace std;
int get(int a[]) {
    string input;
    cin >> input;
    int lengthInput = input.length();
    for (int i = 1; i <= lengthInput; i++) {
        a[i] = input[lengthInput - i];
    }
    return lengthInput;
}
void add(int a[], int b[], int c[]) {
    int jinWei = 0, i = 0;
    while (i <= sizeof(a) || i <= sizeof(b)) {
        c[i] = a[i] + b[i] + jinWei;
        jinWei = (c[i] - (c[i] % 10)) / 10;
        c[i] %= 10;
        i++;
    }
}
int main() {
    extern int a[];
    int lengthA = get(a);
    for (int i = 1; i <= lengthA; i++) {
        cout << a[lengthA - i];
    }
    system("pause");
    return 0;
}

结果运行后报错:
error LNK2001: 无法解析的外部符号 "int * a" (?a@@3PAHA)
fatal error LNK1120: 1 个无法解析的外部命令
急!

extern int a[]只是申明a数组为全局变量。
你还需要在外部定义a数组,并且数组应该定义大小,不能为空。

#include<iostream>
using namespace std;

int a[100];
int get(int a[]) {
    string input;
    cin >> input;
    int lengthInput = input.length();
    for (int i = 1; i <= lengthInput; i++) {
        a[i] = input[lengthInput - i];
    }
    return lengthInput;
}
void add(int a[], int b[], int c[]) {
    int jinWei = 0, i = 0;
    while (i <= sizeof(a) || i <= sizeof(b)) {
        c[i] = a[i] + b[i] + jinWei;
        jinWei = (c[i] - (c[i] % 10)) / 10;
        c[i] %= 10;
        i++;
    }
}
int main() {
    extern int a[100];
    int lengthA = get(a);
    for (int i = 1; i <= lengthA; i++) {
        cout << a[lengthA - i];
    }

 
    system("pause");
    return 0;
}
 

想法不错,但还是先把指针学好吧