先看代码,这个代码很简单,看你能不能准确地说出答案。#include struct A { int a; }; struct A g_ta = { .a = 1, }; struct A g_tb = { .a = 2, }; void fun1(struct A * p1) { p1->a = 3; } void fun2(struct A * p2) { p2 = &g_tb; } void fun3(struct A ** p3) { *p3 = &g_tb; } int main() { struct A *p = &g_ta; printf("
指针
原创 2022-04-14 20:15:39
180阅读
1点赞
值传递:形是实参拷贝,改变形值并不会影响外部实参值。从被调用函数角度来说,值传递是单向(实参->形),参数值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。指针传递:形为指向实参地址指针,当对形指向操作时,就相当于对实参本身进行操作引用传递:形相当于是实参“别名”,对形操作其实就是对实参操作,在引用传递过程中,被调
下午看博客时候,遇到个函数值是否改变问题,感觉挺有意思。先看这样一个程序。#include "stdio.h"#include "stdlib.h"int a=1;int b=2;void fun(int * t){ t=&a;}void main(){ int *q; q=&b; printf("a=%d\n",a); printf("b=%d\n",b); printf("&a=%p\n",&.
原创 2021-11-12 13:55:08
135阅读
## Python 指针 在 Python 中,函数参数可以通过值传递或引用传递方式进行传递。其中,引用传递是通过指针进行操作。本文将详细介绍 Python 中指针,并提供一些代码示例来帮助读者更好地理解。 ### 什么是指针 在程序设计中,指针是一个变量,它存储了一个内存地址。通过使用指针,我们可以直接访问和操作内存中数据。指针是一种通过传递指针作为参数来操作函数外
原创 2023-08-30 04:52:57
403阅读
文章目录​​前言​​​​代码:版本1​​​​分析原因​​​​执行`char *pData = 0;`​​​​执行`do_work(pData, 128);`​​​​执行`p = (char *)malloc(size + 1);`​​​​代码:版本2​​​​执行`char *pData = 0;`​​​​执行`do_malloc(&pData, 128);`​​​​执行`*p = (cha
原创 2022-09-15 08:15:24
138阅读
指针基础语法,同样是笔试选择题喜欢出,当然了,其实不难!
原创 2023-04-14 09:46:57
124阅读
引用:引用是一个变量另一个名字,又称别名。定义方式: int a=10; int &b=a;在这里,意思就是给a变量起了一个新名字b,因此b不可再次被重新定义。 引用必须初始化,无空引用,并且引用不分等级。 引用指针异同点: 相同点:在引用中 int &b=a;这一句代码可被编译器看做int * const b=&a;//加上const作用是表明指针b自身
一维数组#void test(int arr[])//ok { } void test(int arr[10])//ok { } void test(int* arr)//ok { } void test2(int *arr[20])//pk { } void test2(int **arr)//ok { } int main() { int arr[10] = { 0 }; int* a
原创 8月前
68阅读
#include <stdio.h> //一维指针 void test(int* p, int sz) { int i = 0; for (i = 0; i < sz; i++) { printf("%d ",*p+i); } printf("\n"); } int main() { int arr[] = {0,1,2,3,4,5,6,7,8,9};
原创 5月前
18阅读
在C语言中,函数参数传递方式有值传递和指针传递两种,在C++中又多了一个引用传递。事实上值传递和指针传递都是值,只不过对指针传递来说指针值。值调用:当实参值被拷贝给形时,形和实参是两个相互独立对象,这样函数调用就是值调用。值调用执行是值拷贝操作,初始化一个非引用类型变量时,初始值被拷贝给变量,此时对变量改动不会影响初始值,比如:int n = 0; int i
引例自定义函数里形类型,要和函数调用中传过去实参类型相对应test函数里是int类型,我们传过去参数a也是int类型void test(int n){}int main(){int a=1 test(a); return 0; }好了,现在你已经知道了函数基本概念了吧!那么就来分析一下数组指针代码吧!一维数组判断下面正误!include <stdio
原创 2022-08-28 15:00:18
227阅读
///结构体创建对象s,只能是个变量名字,在栈中,///指针变量代表地址,//指针类型强转只能对地址。 reg(connectfd, &m, db);//地址的话是给原来变量(实参)赋值,如果是值传递的话,只会改变形,不改变实参。
转载 2016-06-21 20:11:00
96阅读
2评论
前置++和后置++区别前置++称为前自加,后置++称为后自加。其计算效果均为操作数自加一。当单独一个语句时候没有区别,如果用在表达式中:i++是先自加,然后在取i值做计算。inti=2,j;如果j=i++;那么先取i赋值给j,于是j值为2,i值再自加,i=3。如果j=++i;那么i先自加,得到i=2,然后再取i计算,j值为3。函数中使用指针intadd(inta,intb)函数
原创 2020-04-06 00:07:39
391阅读
# Python函数值还是指针 在Python中,函数机制是通过**传对象引用**来实现。这意味着在函数调用时,实参(也就是传入函数参数)将引用之关联对象。不同是,Python中对象可以是可变对象(如列表、字典等)或不可变对象(如数字、字符串等)。 ## 值还是指针? 在理解Python函数机制之前,我们先来搞清楚值和指针概念。值是指将实参值复制
原创 2023-08-13 08:40:08
222阅读
常规情况函数参数传递是所谓“值传递”。啥意思,就是只是值,而不是变量自己以身相许。上面的例子来说,main中ab传递给函数ab发生了什么呢,是main中ab把值传递给了函数ab,这是四个变量!!!mainab和swapab不是一码事!!!当swap通过值得到a5b10后,在swap中会互换,但是mainab怎么会变呢?他们值完毕后就没有关系了! 引用什么叫引用?引用时
C++
原创 2021-07-12 13:45:35
198阅读
test2(int* arr2[10])//bingovoid test2(int* arr2[])//bingovoid test2(...
 值传递:形是实参拷贝,改变形值并不会影响外部实参值。从被调用函数角度来说,值传递是单向(实参->形),参数值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。指针传递:形为指向实参地址指针,当对形指向操作时,就相当于对实参本身进行操作引用传递:形相当于是实参“别名”,对形操作其实就是对实参操作,在引用传递
python中,往函数指针,并非值。 代码说话 如果改变函数参数值,我们来看看改变: 但是如果是列表这种可变数据类型呢 列表并没有发送改变,仍然指向是原来地址。 这是因为数据类型不一样,不可变数据类型时候,如果我们把值进行了改变,则将会把指针指向改变后值,如果是 ...
转载 2021-11-01 19:05:00
2457阅读
2评论
一、指针函数:1、普通变量作为函数形: (1)函数时,普通变量作为参数时,形
原创 2022-03-16 10:01:54
421阅读
  • 1
  • 2
  • 3
  • 4
  • 5