int dd=1;
int *a=ⅆ // 1
int *c=new int[2]; //2
这里1说明a是int 类型的指针,2说明c是int数组类型的指针.对不?
这段数据结构代码
两个理解:
1.rowlist是个动态数组指向一大块内存,数组里的元素存储着指向LinkList<int>链表的地址。即rowlist是指针数组。如图一
2.rowlist指向一个内存,这个内存存储着<LinkList< int > * >类型的指针,即rowlist是指针的指针。如图二
感觉两个都可以,是要看具体实现吗。比如rowlist=new ...是采用第一种?
으아아아
피험자의 말:
그렇지 않습니다. a와 c는 실제로 동일하며 int에 대한 포인터입니다. c는 "int 배열 유형의 포인터"가 아닙니다.
c가 원래 int 포인터인데 실제로는 int 배열을 가리킬 수 있는 이유는 무엇인가요? int 배열이 int 포인터에 할당되면 C 언어는 이를 int 배열의 첫 번째 요소로 비밀리에 변환하기 때문에 이러한 "몰래 변환"을 "암시적 변환"이라고 합니다.
요약하자면:
c 변수는 int 배열 유형의 포인터가 아니라 int 유형의 포인터입니다.
으아아아
c는 int에 대한 포인터입니다. 배열에 대한 포인터는
으로 작성해야 합니다. 으아아아포인터 +1은 몇 바이트만큼 움직일까요? 한번 시도해 보세요.