闲来无事逛leecode时发现了这样一个问题:
*returnSize+=1;
returnSize是题目给的变量
这里有一个问题,虽然nums和returnSize一个代表数组一个代表整数型变量,但都指向某一个地址,理论上如果要修改指针指向地址的内容,需要在前面加上*号,就像*returnSize,而根据我的经验而言,修改像nums这个指向数组的指针的内容只需要nums[X]=XX(X可以为任一数)就可以了,这是为什么呢,直到看了大佬的一篇文章
我发现其实nums[X]本质上和*(nums+X)是等价的,问题迎刃而解,也就是本来应该写的是
*(nums+X)为了方便变成了nums[X],不过又产生了一个新问题,
*returnSize+=1;
这样是正确的
returnSize=returnSize+1;
这样也是正确的
returnSize++;
唯独这样写就会报错,不明白为什么
最后每日一图~~