让int * ptr,array[10]; ptr= array;
.现在阵列的连续位置中的每个存储器单元具有固定的大小.如果第一个单元的地址是1234,那么下一个单元必须是1238地址.但我们使用指针作为访问它*(ptr+1)
.我很困惑.任何来源或答案?谢谢.
是什么让这种结构?
int a[10];
int x;
x = 2[a];
Run Code Online (Sandbox Code Playgroud)
我不明白是什么让2 [a].这是C语言的另一种衰老?
我有理解这段代码的问题,尤其是"vet-1"部分.这是什么意思?它返回的数组项目是什么?谢谢
#include <stdlib>
#include <iostream>
using namespace std;
void change( int m, int n[7]);
int main(){
int vet[] = {1,2,3,4,5};
change(vet[4],vet-1);
change(0,&vet[4]);
int i=0;
for (i=0;i<5;i++) cout << vet[i];
return 0;
}
void change( int m, int n[7]) {
(*(n+m))--; m++; n--;
}
Run Code Online (Sandbox Code Playgroud) 以下代码
#include<stdio.h>
int main()
{
int arr[] = {10,20,30};
cout << -2[arr];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
打印-30
.怎么样?为什么?
有人告诉我这个...我起初并不相信它们但确实有效.如果x和y在整个代码中没有变化,为什么这会起作用:
int x [5] = { 0,1,2,3,4};
int y = 3;
if(x[y] == y[x]){
cout << "Why..." << endl;
}
Run Code Online (Sandbox Code Playgroud)
x数组在索引y中的值是如何=数组y中的x索引值?但是没有y阵列.
为什么这会让人高兴呢
double zero = 0.0;
double a[] = { 0,0,0,0,0, zero/zero}; // NaN
cout << (a[5] == 5[a] ? "true" : "false") << endl;
Run Code Online (Sandbox Code Playgroud)
版画
false
Run Code Online (Sandbox Code Playgroud) v它是一个int数组,它是一个int:
#include <iostream>
using namespace std;
int main() {
int v[10], a;
cout << v[a] << endl;
cout << a[v] << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
返回相同的值:0 0
这是为什么 ?
我遇到过这个有趣的片段.我说没有办法可以工作(没有崩溃).令人震惊的是,它在Linux(使用gcc编译)和OSX(llvm)上都运行"ok".更令人不安的是,Valgrind没有发现任何错误!
是什么赋予了?
int main(void) {
int a[3];
2[a] = 1;
}
Run Code Online (Sandbox Code Playgroud)