数组 {#数组}
|-----------------|---------------------------------------------------------------------------------------|
| 1 2 3 4
| int a[10]; //每个元素4字节,[10]为定义数组长度,索引由a[0]开始,到a[9] double b[10]; //定义浮点数元素的数组
|
|-----------------------|----------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7
| const int LENGTH = 30; int mylist[LENGTH],sum; for(int i=0;i < LENGTH;i++) { cin >> mylist[i]; sum += mylist[i]; }
|
|---------------------------|--------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9
| int a[10]; for(int i=0;i<10;i++) { a[i] = i+100; } for(int i=0;i<10;i++) { cout<<a[i]<<endl; }
|
|------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| int main() { int a[10]; int sum=0,score=0,j=0; for(int i=0;i<10;i++) { cin>>a[i]; sum += a[i]; } score = sum/10; for(int i=0;i<10;i++) { if(a[i]>score) { cout<<a[i]<<endl; j++; } } cout<<j<<endl; }
|
地址 {#地址}
地址传参 {#地址传参}
|------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include <iostream> using namespace std; void modify(int *num) { *num = 100; } int main() { int a = 50; cout << "Before calling modify function: " << a << endl; modify(&a); cout << "After calling modify function: " << a << endl; return 0; }
|
在这个示例中,我们定义了一个名为modify
的函数,它接受一个指向整数的指针作为参数。在main
函数中,我们将变量a
的地址传递给modify
函数。在modify
函数内部,我们通过解引用指针来修改实参的值。因此,当我们调用modify(&a)
后,实参a
的值被修改为100。
地址--指针与引用 {#地址–指针与引用}
|-------------|----------------|
| 1 2
| int a;
|
&a
既是变量a的内存地址
int& b=a
既是b对a的引用
int* p=&a
既是指针变量,通过 *p来访问或修改指针所指向的变量的值
在C++中,当我们创建一个指针变量时,例如 int* p = &val;
,指针变量p就包含了另一个变量val的地址。此时,我们可以通过 *p来访问或修改指针所指向的变量的值。
引用是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。例如,我们可以声明一个整数类型的引用,如 int& b = val;
,此后b就成为了val的别名,对b的任何操作都会直接影响到val。
数组的传参 {#数组的传参}
在c++中,当数组作为函数传参时,实参数组给形参数组传递的是指向数组首元素的指针,而不是数组的副本。
即在函数中改变数组元素会对原数组产生影响。