今天给各位分享c语言中a和a的区别的知识,其中也会对c语言中"a"与'a'一样吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
c语言中*a和&a有什么区别
1、char *a=asdf,asdf是一个常量,不存放在堆栈中,而是放在一个特殊的段当中。可以用printf(0X%x\t0X%x\n,name,a);看下。定义成数组时这两个地址很靠近的,但是定义成指针就不是了。如果单纯int *a和int a[]的区别的话,int *a为指向一个整形的指针。
2、先变量a和指针运算符*结合,表明这是一个指针,然后再和第二个*结合表明这个指针指向的是一个指针的地址。因此应将一个指针的地址赋给变量a才是正确的,比如int b=1; int *p= int **a=&p。return(long*)&x 是把&x转换为long*型然后赋值给x,a,b,c和x,y,z都是long*变量。
3、a[10]是指针数组,它由10个指向某种类型数据的指针元素组成 (*a)[10]是指针变量,它指向含10个元素的一维数组的指针变量。
4、二维数组可以理解为几个指向一维数组的指针组成指针数组。所以从类型上讲,a是指向指针的指针,*a是指向一行一维数组的指针。但a作为数组名,又表示了数组首地址(在内存中元素地址是连续的)。a是第一行数组首地址。
5、p此处代表它指向的那个变量,*a指它指向的那个变量的值例如 int *p,*a, b,c;b=3;c=33;p=a=p=*a; 等价与b=c;这懂吧,呵呵,一般赋值号的左边找到指定的变量就可以,而右边需要具体的数值。
关于c语言中a和a的区别和c语言中"a"与'a'一样吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。