#include <iostream>
//值传递
void func1(int a) {
std::cout << "值传递,变量地址:" << &a << ", 变量值:" << a << std::endl;
a ++ ;
}
//指针传递
void func2 (int* a) {
std::cout << "指针传递,变量地址:" << a << ", 变量值:" << *a << std::endl;
*a = *a + 1;
}
//引用传递
void func3 (int& a) {
std::cout << "指针传递,变量地址:" << &a << ", 变量值:" << a << std::endl;
a ++;
}
int main() {
int a = 5;
std::cout << "变量实际地址:" << &a << ", 变量值:" << a << std::endl;
func1(a);
std::cout << "值传递操作后,变量值:" << a << std::endl;
std::cout << "变量实际地址:" << &a << ", 变量值:" << a << std::endl;
func2(&a);
std::cout << "指针传递操作后,变量值:" << a << std::endl;
std::cout << "变量实际地址:" << &a << ", 变量值:" << a << std::endl;
func3(a);
std::cout << "引用传递操作后,变量值:" << a << std::endl;
return 0;
}
package main
import (
"fmt"
)
func main() {
a := 1
fmt.Println( "变量实际地址:", &a, "变量值:", a)
func1 (a)
fmt.Println( "值传递操作后,变量值:", a)
fmt.Println( "变量实际地址:", &a, "变量值:", a)
func2(&a)
fmt.Println( "指针传递操作后,变量值:", a)
}
//值传递
func func1 (a int) {
a++
fmt.Println( "值传递,变量地址:", &a, "变量值:", a)
}
//指针传递
func func2 (a *int) {
*a = *a + 1
fmt.Println( "指针传递,变量地址:", a, "变量值:", *a)
}
package main
import (
"fmt"
)
func main() {
m1 := make([]string, 1)
m1[0] = "test"
fmt.Println("调用 func1 前 m1 值:", m1)
func1(m1)
fmt.Println("调用 func1 后 m1 值:", m1)
}
func func1 (a []string) {
a[0] = "val1"
fmt.Println("func1中:", a)
}
package main
import (
"fmt"
)
func main() {
m1 := make([]string, 1)
m1[0] = "test"
fmt.Println("调用 func1 前 m1 值:", m1, cap(m1))
func1(m1)
fmt.Println("调用 func1 后 m1 值:", m1, cap(m1))
}
func func1 (a []string) {
a = append(a, "val1")
fmt.Println("func1中:", a, cap(a))
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有