为您找到"
向前辈们请教下C语言, *P=a[1]和*p=&a[1]都是表达一个意思吧
"相关结果约100,000,000个
p是指针变量,它存储的是指针p=&a 是把a的地址给p而*p则和a是一个类型,就是说*p相当于一个存储数据的变量,*p=a就是把a的值赋给*p例如把你的两个语句P=&a;*p=a 那么 a的地址先赋给了p, 之后p就是a的地址,*p实际就是a了,*p=a就是把a的值存入p地址所标示的内存单元中,实际上如果把这两句放一起...
p表示p也表示地址,简单的说,这个地址对应的存储单元存储的数也是一个地址,而不是数值,而这个被存储的地址对应的存储单元存储的数据才是真正的相应类型的数值!例如:int i=10; //定义了一个整型变量 int *p=&i; //定义了一个指针指向这个变量 int **p1=&p; //定义了一个二级指针指向p指针...
p=&a;//&a的结果是一个指针,类型是int*,指向的类型是int,指向的地址 是a的地址。 *p=24;//*p的结果,在这里它的类型是int,它所占用的地址是p所指向的地 址,显然,*p就是变量a。 ptr=&p;//&p的结果是个指针,该指针的类型是p的类型加个*,在这里是int **。该指针所指向的类型是p的类型,这里是in...
不一样,前者将a变量的地址赋给p指向的那个对象,一般没这样的写法。后者是把a的地址赋给p指针,等于让p指向a变量
函数中改变的内容将与函数堆栈内容无关,修改的是指针指向对应内存的位置,故可以作多个修改(传多个指针,修改多个指针指向的内存空间)。最后一个问题,return的意思是函数返回,只要调用这一语句,函数即刻返回,该语句下的所有语句将不会被执行。最后祝楼主的C语言之路越走越棒!!
方式不一样,目的相同。int a[10],*p=a;//这是定义时初始化 int b[10],*pb;pb=b;//这是定义了指针变量pb,再给pb赋值。
我也来回答一下,个人见解,欢迎指教。int a[5],*p;p=a;p=&a[0];p=&a int a[5];//a是指针常量,表示的是数组首元素的地址,即a=&a[0]。int *p=a;p=&a[0];//因为a=a[0],所以p=a 和p=&a[0]是等价的。p=&a//int *p,p是一个指向int类型的指针,而&a表示的是指向...
p不再是一个地址,是一个变量就跟 int a=1,b=2; 里一样。 通俗一点解释找一本《C语言程序设计》的书,图书馆有一本《索引大全》的书,里面记录着馆内所有书的位置 通过 《索引大全》 —— 《C语言程序设计》的位置 —— 《C语言程序设计》 上面三个东西分别是&p,p,&*p ...
在C语言中,对于char s[20]和*p的定义,p=s、p=&s和p=&s[20]的含义如下:p=s:这表示将指针p指向数组s的首元素。此时,p的值相当于数组s的首地址,是合法的写法。p=&s:这也表示将指针p指向数组s的首元素。这里的&s代表数组s的首地址,与p=s的效果相同,只是表达方式不同,同样是合法...