楼主 一定要 区分 声明、定义、初始化 三者之间的区别哦 int a, *p;这个叫声明,表示a是一个int类型,p是一个指向int类型的指针 还没有定义哦 p=a,这个叫赋值语句,但是右边的 a只是一个声明,而没有定义,因此是没有用的,这个用法是错误的 TC支持,那是因为 编译器对 标准C规则进行了扩展...
2.*p=a的意思:将a的值赋给p指针指向的地址的值;3.p=&a的意思是:将a的地址赋给指针p;4.区别:*p是一个值;p是一个地址;两者完全不相同。5.*代表着p指向的地址的值,简单来说就是取值;&是取地址符号,取的是地址;p是指针,可以理解为所指向的值的地址,*p就是取p指针指向的地址的...
就是把P指向a[0][0]的地址,*p+1,根据优先级,其实是(*p)+1,相当于a[0][0]+1
指针变量用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。指针一个占据存储空间的实体在这一段空间起始位置的相对距离值。在C/C++语言中...
2、*p=a的意思:将a的值赋给p指针指向的地址的值。3、p=&a的意思是:将a的地址赋给指针p。4、区别:*p是一个值;p是一个地址;两者完全不相同。介绍 指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,在同一CPU...
p 如是出现在算术表达式中,这个星号就是乘号,表示相乘,如果是出现在声明中(如变量定义),那就表明p是一种数据类型,p*表示要声明这种类型的指针变量。p 依然可以表示相乘的运算,也可表示提取p指针指向的位置保存的值。例如:int a=9;int *p=a;printf("%d",*p);这个printf()调用中的*p表示...
} 第二个: *p||*q啥意思 首先||这个是逻辑运算中的或运算,两边有一个为真,则整个表达式值为1;否则为0 而 *p||*q中,你在前面的程序语言中,肯定有p=&a;q=&b;这样的语句,那么 *p||*q,指的可以等价为a||b.举个例子 include<stdio.h> void main(){ int *p,*q;int a,b,c...
如果是定义时候的话就是把数组a里第[0]个元素的地址给p,也就是数组首地址啦。p指向数组首地址,*p运算结果是a[0](没有改变p值的情况下)如果是程序中的话,说明p是一个**指针,也即二级指针,他是指向指针的指针,这样才可以将a[0]元素的地址赋值给*p所指向的内存单元。再通过**p来访问a[0...
int a[ ]={0,1,2,3,4,5,6,7,8,9}:意思是a数组为包含{0,1,2,3,4,5,6,7,8,9}的整数数组,int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a:p是等效于a的整数指针,你应该这样读int *p =a;(*号跟着变量走)定义了一个指针等于a数组首地址。
示例:include <STDIO.H> int main(int argc, char *argv){ char a[10]="test";char *(p[])={"hello","world!"};//char指针数组,两个元素,分别指向hello和world printf("%s\n%s\n",p[0],p[1]);//分别输出两个元素 char (*p2)[10]=&a;//指向数组的指针,所指向的数组有...