永发信息网

二次指针为什么要用2个*?为什么多次指针要用多个*?

答案:4  悬赏:20  手机版
解决时间 2021-12-01 11:12
二次指针为什么要用2个*?为什么多次指针要用多个*?
最佳答案
真要向底层了解我建议你去看看汇编。我从C的层面解释下:
1)每个数据都有类型的,比如int a,int a[10],int*a;,int **a;这些都是存储在内存中的一段空间,大小随着a的类型而改变,a就是这段空间的名称.
2)由于空间是连续的,所以对于地址(指针)类数据是允许address+i(i是偏移址),例如数组名加1表示数组的第二个元素。但是,对于数据类的变量,例如int a;a+=1;那么是把a的值加了1.这就是为什么要区分类型.
3)同样的a+1对于int *a和int**a表达的意义是不同的。如果a是数组,比如int a[10],那么a+1表示数组的第二个元素(a[1]),但是如果a[10]里面存的全部是指针(已经指向某段空间),那么a[1]自然就是一个int*类型的指针。所以,a+1表示a[1],而a[1]+1等同于2)里面说明的那种情况。
全部回答
感觉研究这个问题没什么意义。加个*就是了,还费劲地去追问,实在搞不明白怎么想的。。。
可以用指针来表示,你自己也说了,所以需要指针,就变成二次指针了
指针的指针
指针也是有内存地址的,所以指针,指向另一个指针的时候,就是**

char *x[] = "hello world";
int len = sizeof(len);
int i = 0;
for (; i < len; i++) {
printf("%c\n", **x);

x++;

}追问指向另一个指针的地址,,,一次指针就够了啊,,,何必搞那么多呢?一次指针本来就存储的地址啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
燕郊49800有c3出局吗
皮字开头的成语
买房16楼有忌讳吗
奥运会一般都是开几天?有哪些体育项目?
2011年7月25日上海世界游泳锦标赛当日决出4枚
急求电力部门九字春联一幅
手机照明灯怎么开
大连广森传媒发展有限公司怎么样?
以小名为题的作文
主链含5个碳原子,有甲基、乙基2个支链的烷烃
求航天科普工作制度范文。。。
海底两万里中海底的三种植物是哪三种
一个时钟的分针长9厘米,经过12小时,这个时
刚10块钱预定了美的的花生净水器,还可以退订
是我太关注男朋友,还是他不够在乎我
推荐资讯
雅思考试预测是什么?到底有什么用?
Was it at the end of the explorationyou di
什么是6KV电动机
香港现在能在专卖店买到现货的iphone5么?拿回
济南金牛建才商场有卖小型洗手盆的吗
2010年11月1日起我国进行了第六次全国人口普
开盘与收盘一个价
危险品进口报关可否申报
文化石和文化砖的尺寸大小是多少?有统一规格
下列是利用声音传递信息的是A.超声波加湿器湿
湖州市吴兴区法院胡锡荣案判决书
我国各地民政局是否联网?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?