c语言利用指针向数组里插入数据
大佬们,我最近正在学指针,想利用指针向数组里插入数据但是运行结果不对!#include<stdio.h>
int main()
{
int arr={};
int *p=arr;
for (int i = 0; i < 10; i++)
{
*(p++) = i;
printf("%d\n",*p);
}
return 0;
}
大佬给看一眼! 本帖最后由 jackz007 于 2022-10-17 18:26 编辑
#include<stdio.h>
int main()
{
int arr={} ;
int * p= arr ;
for (int i = 0 ; i < 10 ; i ++)
{
* (p + i) = i ; // 用 * (p + i ) 索引一维数组元素,p ++ 会把指针变跑,当然,如果写成 p 意思和 * (p + i) 是完全一样的。
}
for (int i = 0 ; i < 10 ; i ++)
{
printf("%d\n" , * (p + i)) ;
}
return 0;
} jackz007 发表于 2022-10-17 18:10
感谢大佬,我理解的是p++ 就是将p所指的地址赠一也就是数组的第一个元素地址增一 ,然后每次都增,这样不就可以插入了嘛, yunling 发表于 2022-10-18 08:29
感谢大佬,我理解的是p++ 就是将p所指的地址赠一也就是数组的第一个元素地址增一 ,然后每次都增,这样不 ...
p 本身是个变量,和整型数一样,执行 p ++ 就是在执行 p = p + 1,p 的值当然会变。 jackz007 发表于 2022-10-18 08:32
p 本身是个变量,和整型数一样,执行 p ++ 就是在执行 p = p + 1,p 的值当然会变。
恍然大悟应该是&p!!! 我待会试一下,感谢大佬! jackz007 发表于 2022-10-18 08:32
p 本身是个变量,和整型数一样,执行 p ++ 就是在执行 p = p + 1,p 的值当然会变。
大佬我刚试了一下&p++ 还是不行哈哈 还是按你说的来把
页:
[1]