小编use*_*751的帖子

如何更新函数外的数组(指向指针)

我有一个函数,它作为输入,指向2D数组的指针和指向1D数组的指针.

int resize(double *x, double **y, int n){
Run Code Online (Sandbox Code Playgroud)

此函数的目的是将x和y的大小调整为其长度(n)的两倍.

我创建了两个新的阵列 - 长度增加了一倍

double **yTemp = NULL;
double *xTemp = NULL;
xTemp = new double[2*n + 1];
yTemp = new double*[2*n + 1];
Run Code Online (Sandbox Code Playgroud)

然后我遍历并用x和y替换xTemp和yTemp的值

然后将它们设置为等于另一个:

        y = yTemp;
        x = xTemp;
        return 2*n;
Run Code Online (Sandbox Code Playgroud)

并退出该函数,y和x似乎失去了额外的长度.

任何有关这方面的帮助都会很棒!

c++ pointers

0
推荐指数
1
解决办法
139
查看次数

C++指针和字符串寻址

如果我们宣布:

int i; 
int *ptr1 = &i;
*ptr1=10;
cout << ptr1;
Run Code Online (Sandbox Code Playgroud)

这里ptr1将给出地址.但:

char *ptr2;
ptr2="Priyesh";
cout << ptr2;
Run Code Online (Sandbox Code Playgroud)

这里它将给出字符指针的内容.为什么会有这样的差异?

c++

0
推荐指数
1
解决办法
51
查看次数

为什么编译器将变量理解为指针而它不是?

我正在尝试编写这个程序:

编写一个函数digit(n, k),返回n(一个正整数)中的第 k 个数字(从右边开始)。例如

  • digit(829, 1) 返回 9
  • digit(829, 2) 返回 2
  • digit(829, 3) 返回 8

如果 k 大于 n 中的位数,则让函数返回 0。

我收到一条警告消息:

从返回类型为 int 的函数中返回 (int*)(int,int) 从指针生成整数而不进行强制转换

int digit(int a,int b);

int main (void){

    int i, c;
    printf("Enter the number");
    printf("Enter the digit you want to check");

    scanf("%d",&i);
    scanf("%d",&c);
    puts("\n");

    printf("%d", digit(i,c));
}

int digit (int a, int b){
    while(b>0)
    {
        int digit = a%10;
        a/=10;
        b--;
    }
    return digit;
}
Run Code Online (Sandbox Code Playgroud)

这有什么违法的?

c variables pointers function

-1
推荐指数
1
解决办法
63
查看次数

将数组存储在C中

假设我用C/C++编写程序并创建一个特定大小的数组.即使我关闭计算机并稍后访问它,我也希望永久保留它.有没有办法做到这一点?如果是这样,请告诉我,并在保存之后,如何访问它.

c c++

-6
推荐指数
1
解决办法
115
查看次数

标签 统计

c++ ×3

c ×2

pointers ×2

function ×1

variables ×1