0 0

C中传值与传址的困惑5

 

typedef int *intP; 
void test1(int *a){ (*a)=5; }
void test2(intP a){ (*a)=15; } 
int main(){ 
   int a=10;
   test1(&a); 
   printf("%d\n",a); 
   test2(&a); 
   printf("%d\n",a); 
}
 

 

1.两种方式两会改变调用前的值,请问这两传参方式有区别吗?

 

 

typedef struct TNode{
   ElemType data; 
   struct TNode *lchild,*rchild; 
}TNode, *Tree;
 

 

2.请问Tree 类型是不是完全可以代替TNode *


问题补充:
谢谢,如果我定义指针时不对它进行初始化,它有默认初始值吗?

我在gcc上试了多次运行有时它的值保持不变,有时又好像会变,有规律吗
C 
2009年12月23日 15:13

2个答案 按时间排序 按投票排序

0 0

采纳的答案

1. 两种方法都是用指针,是一样的,没有区别。

2. Tree 和TNode*等价。

2009年12月25日 08:41
0 0

应该是没有。
就算有,也不要依赖。总是显示初始化,这才是好的编程习惯。

2009年12月26日 08:43

相关推荐

    深入浅析Python传值与传址

    1. 传值与传址的区别 传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针)。他们的区别是如果函数里面对传入的参数重新赋值,函数外的全局变量是否相应改变:用传值传入的参数是...

    浅谈js中的引用和复制(传值和传址)

    JavaScript中的引用和复制是理解其工作原理的关键概念。在JavaScript中,数据类型分为两大类:基本类型(包括数字、字符串、布尔值、null和undefined)和引用类型(对象、数组和函数)。这两种类型的变量在赋值和...

    c#几个区别传值和传址的好例子

    在C#编程中,了解和区分传值与传址的概念至关重要,因为这直接影响到函数调用时参数的处理方式,从而影响程序的行为。下面通过两个示例来详细讲解这两个概念。 **传值(Pass by Value)** 在C#中,基本类型(如int...

    Java是传值还是传址引用

    ### Java是传值还是传址引用 #### 一、简单类型是按值传递的 Java在处理简单数据类型(如int、boolean等)时采用的是按值传递的方式。这意味着当你将一个简单类型的值作为参数传递给一个方法时,实际上传递的是这...

    JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例

    在学习JavaScript基础时,变量作用域、传值与传址是核心概念,它们在编程过程中有着举足轻重的作用。本文将对这些概念进行简单介绍,并通过实例加深理解。 首先,关于变量作用域。在JavaScript中,变量的作用域决定...

    PHP传参之传值与传址的区别

    在PHP中,函数参数的传递方式有两种:传值和传址。了解这两种传递方式的区别对于编写高质量的PHP代码至关重要。 传值(Pass by Value)是默认的参数传递方式,意味着当函数参数通过值传递时,实际上传递的是参数值...

    VB参数传递(传值ByVal与传址ByRef)[整理].pdf

    VB 参数传递(传值 ByVal 与传址 ByRef) VB 中的参数传递方式有两种:传值(ByVal)和传址(ByRef)。这两种方式决定了在过程调用时,主调过程和被调过程之间的数据传递方式。 传值方式(ByVal) 在 VB 中,传值...

    javascript的变量、传值、传址、参数之间关系

    JavaScript是一种动态类型的脚本语言,其变量、传值、传址和参数之间的关系是理解和使用JavaScript中的一个基础但关键点。接下来,我会详细解释这些概念。 首先,JavaScript中的变量可以存储两种类型的数据:基本...

    js代码-函数调用的传值和传址

    本主题聚焦于JavaScript中的函数调用机制,特别是关于传值和传址的概念。理解这两个概念对于编写高效和可维护的代码至关重要。 首先,我们要明白在JavaScript中,变量有两种类型:基本类型(如字符串、数字、布尔值...

    浅析C# 函数的传值与传址

     传址就是将地址传到所调用的函数里面操作,实参的值也会跟着变化,传址的有数组和字符串string。  上面说的就牵扯到数据的分类,分为值类型和引用类型,值类型的就是传值的那种,引用类型包括字符串类型,数组和...

    javascript中的变量是传值还是传址的?

    JavaScript中的变量处理方式是根据数据类型的不同而不同的。在JavaScript中,有两类基本的数据类型:不可变类型(immutable)和可变类型(mutable)。不可变类型包括字符串(String)、数字(Number)、布尔值...

Global site tag (gtag.js) - Google Analytics