C语言的问题 请教高手

2025-01-03 19:24:03
推荐回答(4个)
回答1:

C/C++中的*有三种用法:
1,表示乘,比如2*3,是2乘以3的意思;
2.取一个有效地址中的内容,比如a=*p,是把p地址中的内容赋给a;
3.说明或定义变量时指出后面的变量是指针变量,如char *p,则说明了一个指向char型数据的指针变量p。
  你的问题是第三种情况。
  char *p——声明了一个指向char型变量的针变量p;
  char **p——声明p是指向“另一个指针”的指针变量,而这“另一个指针”是指向char型变量的;
  char ***p——声明p是指向“另一个指针”的指针变量,这“另一个指针”又是指向“再一个指针”,这“再一个指针”指向char型变量。
  用两个以上的*声明的指针叫作多级指针。C/C++可以无限制地用*声明多级指针,但实用中很少有超过三级的!
  又是“另”,又是“再”,有点绕,但事实就是这样……

回答2:

这个应该是c语言的指针问题

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。
先声明几个指针放着做例子:
例一:

(1)int*ptr;

(2)char*ptr;

(3)int**ptr;

(4)int(*ptr)[3];

(5)int*(*ptr)[4];

具体我也是不太说的很清楚,但是你去百度一下 “c语言指针”
文库里应该有相应的ppt或是教程,可以自己看看,指针是c语言中比较重要的一样东西。

回答3:

简单地说吧,像char、int、float等都是类型,而char *是指一个变量指针,指向的是char类型的变量。同时char *也是一个类型,char **是指一个变量指针,指向的是char *类型的变量。同时char **也是一个类型,char ***是指一个变量指针,指向的是char **类型的变量……
指针真正难以理解的地方在于和数组的共同点和不同点

回答4:

char* :char的指针
char**:char的指针的指针
char*** :char的指针的指针的指针