char*是声明一个字符类型的指针。比如:chat*y;就是声明一个指针y,这个指针指向的地址上只能存放字符类型的值。
是代表存放一个字符的地址的地址!比如就是字符'a',他的地址是12121,而12121的地址是22222;那么**p,代表的就是22222
char**p:p指向一个指针,该指针是指向一个char类型的指针,可以类似看作是个指向字符串数组的指针。
char***p代表三重指针,我们举个简单的例子,charc_val='e';char*p1,**p2,***p;因为上面都是变量,于是编译器都给它们分配了不同的内存空间,假设c_val的地址是0x12345678,p1的地址是0x1234567c,p2的...
p是二级指针的意思,也就是指针的指针。当然可以用charp;去定义一个二维char数组。只不过要用到malloc动态申请内存来放二维字符数组。格式如下:include"stdio.h"main(){charp;inti,j;introw,rank;//输入二维...
=ef。p指向的是这个数组的起始位置,*p则指向数组中第一个元素的起始位置,也就是说*p就是第一个字符串,对上一个例子来说,就是a.exe,而(*p)+1是cd。使用**p的话就是第一个字符串的第一个字符也就是“a”
char*p是一个指针,根本没分配内存,它指向的"abc123ABC"是只读的,不能改变,在下面给它赋值肯定是错的;charp[]是一个数组,已经分配内存,是将"abc123ABC"复制到该内存里面,这个内存是可读写的;(char*)p是...
这个层次结构如下:inta=0;int*b=&a;int**c=&b;这样你应该就明白了另外,在C语言中,char*表示字符串(字符数组,它的首地址就作为指针啦),所以char**可以认为是字符串数组或者指向字符串的指针...
charp是声明一个字符类型变量p,char*p1是声明一个字符类型的指针变量p1,那么char**p2就相当与给char类型的指针变量再声明一个指针.(2级指针)举个例子,假如:charp='a';//假设声明了p后,p在内存的1000处,则...
例如:inti=10;//定义了一个整型变量int*p=&i;//定义了一个指针指向这个变量int**p1=&p;//定义了一个二级指针指向p指针那么取出10的值方式为:printf(“i=[%d]\n”,*p);printf(“i=[%d]\n”,...