c++语言中int*p p=s 和*p=s 有什么区别

来源:百度知道 编辑:UC知道 时间:2024/05/15 17:13:30

int *p 表示 P 为一个整数型的指针

p = s 如果和上面组合起来必须两个都是指针或都是变量,否则编译要出错,意思是把 S 的值给 P

*p = s 是把 S 的值给 p 指针指向的地址

int *p;
p=s;
如果s也是一个指针的话,那就是把s的地址传给p,那么s和p的作用是一样的.若不是指针,那么,p就指向s为值的地址.

*p=s;
若s为指针,则把s的地址传给*p指向的地址,
s为值,则把值传给p指向的地址.

举例:
int *p,*s;
*s=100;
p=s;
此时,p就指向与s同地址的值为100的地址.
int *p,s;
s=100;
*p=100;
此时指针*p指向地址的值为100.

没什么区别。就像

int a = 0;



int a;
a = 0;

的区别。

int *p声明了一个整型指针变量。
p=s 是将 s的值附给 p ,当然s也要是地址或指针类型的
*p 是p所指向的存储空间,是一个整数,就是把s这个整数写入到 p 所指向的地址。