怎么理解C语言指针中 *a=*b
发布网友
发布时间:2023-05-05 14:48
我来回答
共5个回答
热心网友
时间:2023-11-15 10:58
你好!!!
首先我们已经知道:a,b,都是指针变量,*a表示指针变量所指向的值,同样*b也是如此。*a=*b就是表示把指针b所指向的值赋值给指针变量a所指向的值。
但是要是指针a要是没有初始化或是开辟空间的话,这样赋值就有危险!!!
例如:
int *a;
int *b=5;
*a=*b;
首先声明一个指针变量a,但是系统并没有为其分配空间,也就是说此时指针变量的值即地址不确定的,那么*a也就表示一个不确定的值,有可能这个值是系统的重要数据,那么*a=*b;不就修改了系统的数据了吗???也就变量的危险了。
所以声明指针变量的时候一定注意初始化。
热心网友
时间:2023-11-15 10:58
你好!!!
首先我们已经知道:a,b,都是指针变量,*a表示指针变量所指向的值,同样*b也是如此。*a=*b就是表示把指针b所指向的值赋值给指针变量a所指向的值。
但是要是指针a要是没有初始化或是开辟空间的话,这样赋值就有危险!!!
例如:
int *a;
int *b=5;
*a=*b;
首先声明一个指针变量a,但是系统并没有为其分配空间,也就是说此时指针变量的值即地址不确定的,那么*a也就表示一个不确定的值,有可能这个值是系统的重要数据,那么*a=*b;不就修改了系统的数据了吗???也就变量的危险了。
所以声明指针变量的时候一定注意初始化。
热心网友
时间:2023-11-15 10:59
这个应该是 ab 指针指向的值的交换
if(*p1<*p2) { /*交换指针变量指向的整型变量*/ t=*p1; *p1=*p2; *p2=t;
就如在这段程序当中 如果(*p1<*p2) 则 交换
热心网友
时间:2023-11-15 10:59
这个应该是 ab 指针指向的值的交换
if(*p1<*p2) { /*交换指针变量指向的整型变量*/ t=*p1; *p1=*p2; *p2=t;
就如在这段程序当中 如果(*p1<*p2) 则 交换
热心网友
时间:2023-11-15 10:59
“=”不是数学中数值的相等,而是说把指针b所指的内容赋予a
热心网友
时间:2023-11-15 10:59
“=”不是数学中数值的相等,而是说把指针b所指的内容赋予a
热心网友
时间:2023-11-15 11:00
b指向空间中的值赋给a指向的空间。
热心网友
时间:2023-11-15 11:00
这是指针a所指向的值的大小变为了b所指向的值的大小
热心网友
时间:2023-11-15 10:58
你好!!!
首先我们已经知道:a,b,都是指针变量,*a表示指针变量所指向的值,同样*b也是如此。*a=*b就是表示把指针b所指向的值赋值给指针变量a所指向的值。
但是要是指针a要是没有初始化或是开辟空间的话,这样赋值就有危险!!!
例如:
int *a;
int *b=5;
*a=*b;
首先声明一个指针变量a,但是系统并没有为其分配空间,也就是说此时指针变量的值即地址不确定的,那么*a也就表示一个不确定的值,有可能这个值是系统的重要数据,那么*a=*b;不就修改了系统的数据了吗???也就变量的危险了。
所以声明指针变量的时候一定注意初始化。
热心网友
时间:2023-11-15 10:59
这个应该是 ab 指针指向的值的交换
if(*p1<*p2) { /*交换指针变量指向的整型变量*/ t=*p1; *p1=*p2; *p2=t;
就如在这段程序当中 如果(*p1<*p2) 则 交换
热心网友
时间:2023-11-15 10:59
“=”不是数学中数值的相等,而是说把指针b所指的内容赋予a
热心网友
时间:2023-11-15 11:00
b指向空间中的值赋给a指向的空间。
热心网友
时间:2023-11-15 11:00
这是指针a所指向的值的大小变为了b所指向的值的大小
热心网友
时间:2023-11-15 11:00
b指向空间中的值赋给a指向的空间。
热心网友
时间:2023-11-15 11:00
这是指针a所指向的值的大小变为了b所指向的值的大小