我正在尝试构建一个程序,该程序通过指向指针的指针来修改数组的元素。 我将其加载到调试器中,然后看到指针的值发生了变化,但是由于某种原因,它不会影响数组中的元素。 我的指针语法错误吗? 我是否将指针重新分配到其他地方?

 #include <stdio.h> #include <stdlib.h> #define SIZE 6 /* * */ void change (char **x); int main() { char arra[] = "Back"; char *c = arra; change(&c); int i; printf("%c", arra[0]); } void change (char **x) { *x = "H"; } 

===============>>#1 票数:3

*x = "H";

应该

**x = 'H';

您正在尝试修改第一个字符,并且该字符必须在单引号内。

这里不需要指向指针的指针。 您可以只传递数组,该数组在传入函数parameterks时会衰减到指针,如@haccks所示

===============>>#2 票数:2

在这种情况下,无需使用指针指向指针 只需使用指向char指针即可。

void change (char *x);  

并称其为

change(c); 

与功能主体

 void change (char *x) { 
    *x = 'H';   
} 

  ask by David Tamrazov translate from so

未解决问题?本站智能推荐:

1回复

如何不使指向数组[0]的指针在每个周期修改数组[0]

当我尝试使用算术指针使2个周期给出最大值和最小值的完整数组时,我发现Arr[0]的值在for每次迭代时都会修改其值。 我通过将第一个值保存在另一个在Arr[0]再次分配的变量中来解决此问题,同时还将指针重置为起始位置。 有没有一种方法可以防止这种情况发生? 我尝试使用所有最常见的指
1回复

指向数组指针元素的指针

我正在做一个项目,我在理解逻辑上遇到问题。 我希望有人可以向我解释一下,或者至少让它更加清楚。 如果数据结构有所更改,则它是哈希表。 码: 只要我理解这一点, tHT[]是指向结构tHTElem的指针数组? 因此,如果我想创建指向该数组一个元素的指针,我应该像这样创建它吗?
3回复

指向数组元素地址的指针

现显示为 我们知道*(&Variable)将打印*(&Variable)的值,但是当我们在上述程序中实现相同的概念时... 输出显示数组中每个元素的地址。 为什么会这样呢? 为什么输出不等于数组元素的值?
5回复

C数组和指针:指向数组元素的等效指针

编辑:之前提出的类似问题没有解决与该问题相关的一些观点。 在Kernighan和Ritchie的ANSI C书中,他们说以下是等价的 a[i] *(a+i) 我不知道如何占用多个地址空间的元素,例如结构。 请解释? 编辑:谢谢你的所有答案,但我不太明白。
10回复

指向数组的指针

我想知道,你能指出一个数组中的一组变量吗? 像这样 所以你可以说...... 和 和*指针的长度 好 让我解释一下我想要完成的事情,也许这会让我有所了解。 我想将一个完整的文件读入一个缓冲区,但我想要一块一块地完成。 将一个小数组传递给read()然后
1回复

指向数组的指针

我找到了一个指向数组的指针的例子,这对我来说没有多大意义,我想知道是否有人可以帮助我? 我不确定第三行p [3] = 1的工作方式以及如何导致a [3] =6。感谢您的提前帮助。
3回复

修改双指针指向整数数组

我有一个指向int *array的指针,我对其进行了分配,然后将其传递给函数以填充数组的元素。 我想将tmp分配给arr 。 我该怎么做?
2回复

尝试修改指向数组的指针时出现段错误

尝试修改指向数组的指针时,为什么会出现段错误? 我的例子是:
1回复

指向结构元素的指针

我需要编写一个函数,以相同的幂求和,这些monoms由以下结构定义: 我从这份工作中写的函数是: 通过以下调用进行调用: 多项式数组作为MONOM的排序数组(按幂升序排列)发送到函数。 我的问题是,在sumMonomsWithSamePower()的第7行,该函数崩
3回复

返回一个指向指针数组的指针

我在释放指针数组(值)中的指针时遇到麻烦。 在C中,我创建了动态数组。 resultSet应该是JSDictionary指针的数组。 我创建如下的结构: 一切都会创建并正常运行。 免费是给我一个问题。 } 我得到一个被释放的指针未分配错误。 传入的指针