#同名局部变量调用外部全局变量: num=100def fun(): global num#告诉编译器是全局的num num+=100 print(num)print(fun)print(fun())#print(fun()) 局部变量没有初始化报错,局部变量覆盖全局变量, #类似Cpp引用,返回值修改,全局变量,变量对象,类对象,其他 #在函数内修改没有办法返回 # -*- coding: utf-8 -*-#returndef fun(x): x=x+1 y=x+2 return y dat…
个人原创: 1. 形参:形式上的参数,一般多在函数声明.函数定义的参数上: 2. 实参:实体参数,有实际的值,在运算上被循环使用的值: 3. 按值传参:按值,就是把实际的值传给函数内部: 4. 指针传参:使用指针形式传递参数,把参数的地址传递进去,直接操作地址: 5. 引用传参:只有在C++中才有,C中没有引用传参,其意义就是传递了一个实参的别名,有实参和指针的优点,但没有其占用那么多的内存: 函数之间的数据传递共有三种形式: (1) 按值传递:使用变量名做实参和形参,直观易懂,但效率低: (2…
首先要理解参数传递,参数传递分值传递,指针传递,引用传递.(就我自己理解,就是把实参对形参进行赋值) 值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入, 不能传出.当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递. 指针传递: 形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作 引用传递: 形参相当于是实参的“别名”,对形参的操作其实就是对实参的操作,在引用传递过程…
C++指针传参也是单纯的复制一份地址,如下代码: #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; void fun(char *p) { p = (); } int main() { char *p = NULL; fun(p); std::cout << p; ; } char *p = NULL;一个P指向了一个NULL fun(p);复制了一个P_1指向了一个NULL然后P_1指向…
/************************************************************************* > File Name: message.c > Author: Mr.Yang > Purpose:初始化并使用char指针数组,并且通过for循环方式.函数传参方式进行指针数组的遍历 > Created Time: 2017年06月04日 星期日 10时15分16秒 ********************************…
一 数组的结构:顺序存储,看谭浩强中的图,牢记 1.数组名指代一种数据结构:数组 现在可以解释为什么第1个程序第6行的输出为10的问题,根据结论1,数组名str的内涵为一种数据结构,即一个长度为10的char型数组,所以sizeof(str)的结果为这个数据结构占据的内存大小:10字节. 再看: . ]; . cout << sizeof(intArray) ; 第2行的输出结果为40(整型数组占据的内存空间大小). 如果C/C++程序可以这样写: . ] intArray; . cout &…
typedef struct node{int n;node *left;}*tnode; 传参的时候注意用** void init(node **nn);int main(){tnode nna;init(&nna);cout<<nna->n<<endl;return 0;}void init(node **nn){*nn=(tnode)malloc(sizeof(node));(*nn)->n=0;(*nn)->left=NULL;} 因为传的是*就只…
1.=================================================================== 1,数组是一块内存连续的数据.2,指针是一个指向内存空间的变量. 对于数组来说,数组的首地址,也可以用指针来表示操作,如:int a[10];int *p,n;p = a;对第一个元素取值,可以用几种方法: n =a[0];n = *p;n = p[0];n = *(p+0) ; 对第i个元素取值,可以用:n = a[i];n = p[i];n = *(p+…
目前已经可以发送邮件了,我已经配置了Jenkins,但是有几个显示问题,待处理1.报告名称地址, 2详细报告地址没有做跳转 更改后为: 修改url 1.打开样式的jmeter-results-detail-report_21.xsl文件,在文件头部 定义变量:ReportUrl,给了一个默认值 <xsl:param name="ReportUrl" select="'http://10.32.1.235:8080/'"/> 2.修改显示的内容,增加超链接…
前提 一级指针和引用 已经清晰一级指针和引用. 可参考:指针和引用与及指针常量和常量指针 或查阅其他资料. 一级指针和二级指针 个人觉得文字描述比较难读懂,直接看代码运行结果分析好些,如果想看文字分析,可参考文末参考文章. 例子 #include <iostream> using namespace std; int main() { int a=5; int *q=&a; int **pp=&q; //下面的两行输出在垂直方向上的相应值相同,由输出可知一级指针和二级指针的关系…