-1
A
回答
1
我会尽量用简单的方式来解释,(对不起,如果我的英语不是神不够我正在学习) 让说你有一个字符数组:
char a[5];
然后你想创建一个指向第一个元素的地址:
char *p = &a[0];
既然对数组的名称是 初始元素的位置,您可以改写为下面的语句的代名词:
char *p = a;
现在这里是神奇的发生,作为前一个字符指针指向你可以做的第一个元素的地址如下: 而不是从[i]中获取'i'个元素,你可以移动指针'i'来引用地址中包含的值'第i'位然后得到它的值:
char value = *(a + i);
字体(C编程语言第2版,第5章)
2
尚未;它未初始化。
你在问什么就像问什么int i;
指的是数字。
0
是的,它指向变量的地址。
如果变量是在函数内部声明的,则变量可能位于堆栈上,或者如果声明位于顶层,则位于RAM的顶部。
正如其他答案指出的那样,您还没有将它指向任何东西,所以解引用指针可能会导致分段错误。
你需要做这样的事情
char ch;
char *ptr = &ch;
1
char *ptr;
直到它被初始化它不指向任何存储器地址; 但是你可以用它来指向一个地址。 假设,
int i=0;
i具有在存储器中的地址。如果它成为0xFFFF0
然后当你写
ptr=&i;
然后将鼠标指针指向地址0xFFFF0
。
现在假设,
int array[5]={0};
是一个数组。
然后如果你为写
ptr=array;
然后ptr
指向数组的起始地址,因为数组名是一个地址。
相关问题
- 1. 为什么有人需要一个指向指针的指针?
- 2. 我做了什么?指向指向double的指针的指针?
- 3. 什么指向一个指针?
- 4. 指针指向一个函数,需要指针参数
- 5. 指向另一个指针的指针 - 会发生什么?
- 6. 为什么说一个2维数组是一个“指向指针的指针?”
- 7. 为什么指向一个指针与指向数组的指针不兼容?
- 8. 为什么TValue.Make需要一个指向对象引用的指针?
- 9. 为什么json.Unmarshal需要一个指向地图的指针,如果一个地图是一个引用类型?
- 10. 我需要检查一个指针是否指向一个math.h函数
- 11. 为什么需要键入一个指针?
- 12. 为什么strtol需要一个指针而不是单个指针?
- 13. 为什么这个搜索函数返回一个指向指针的指针?
- 14. 为什么需要一个变量指向一个结构
- 15. const指针指向一个const指针
- 16. 我需要一个指针向量上的互斥量吗?
- 17. 如何将指向char的指针插入指向char的另一个指针
- 18. 为什么我们需要一个指向类的指针,如果我们可以实例化它的一个对象并访问类的成员?
- 19. C++深度复制一个指针指向具有指针值的映射
- 20. 在切换/更改指向的指针变量之前,我需要做什么?
- 21. 传递一个const指针...我需要这样做吗?
- 22. 什么是指向一个函数的指针?
- 23. 的Fortran程序指针指向一个什么也不做
- 24. C中指向一个字符的指针是什么?
- 25. 什么是指向指针的指针?
- 26. 为什么投这个指针也改变了指向的值
- 27. 是否有可能有一个指针指向第一个指针所指向的变量的指针?
- 28. 我该怎么办的指针指向一个C++接口
- 29. 指南针:为什么我需要做一个双重导入工作?
- 30. C++指向一个类的指针