指针基本概念问题
1. int *p 和 int* p的概念一样吗?如果一样的话为什么这个 * 号要挨着变量名字,而不是紧挨着类型呢?2. #include <stdio.h>
int main()
{
int a = 0x1234;
char *b = (char *)&a;
这里要把 a 的地址转换成字符类型的地址,为什么要用(char *)呢?这个不是字符型指针的意思嘛
1.一样,挨着变量名是习惯做法,挨着类型名也没有错误,编译器会自动忽略无用的空格。
2.char *是字符型指针类型,(char *)是强制类型转换,将a的数值转化为字符型地址然后赋给b指针。 Krant5 发表于 2018-9-30 14:22
1. 定义的时候* 贴近类型或者变量名都无所谓,你可以写在中间呀 int * p;
2. 这叫强制转换,没什么为什么...
就是这样写强制转换的话我理解,(char*)&a 这样我就不理解了
(char*)&a 翻译成中文,应该怎么理解呢 Krant5 发表于 2018-9-30 14:43
what?取a的地址赋值给char* 变量b, 简单来说就是 char* b 指向了变量a啊
int a = 31231;int *p = (i ...
这个(int*)或者(char*)这到底是什么意思,看见就迷 Krant5 发表于 2018-9-30 14:43
what?取a的地址赋值给char* 变量b, 简单来说就是 char* b 指向了变量a啊
int a = 31231;int *p = (i ...
int *p = (int * )&a 翻译一下叫做 整形指针p = a的地址是整形指针类型? Krant5 发表于 2018-9-30 15:02
一开始就说了无论是(int *) (char *) (int)都是强制转换了,如果这都不理解那还是回去把书从头看一遍把 ...
为什么对地址的强制转换就要加上*号 Krant5 发表于 2018-9-30 15:21
不加 * 号 还是指针吗?
那不是把地址转换一下格式么,为什么要加* Krant5 发表于 2018-9-30 15:30
你懂不懂 char 和char *是什么意思??他们有什么区别??地址就是地址,跟格式有什么关系呢?你要赋值给什么 ...
呵呵,自己讲都讲不清楚像疯狗一样,真不知道你的25个最佳答案哪里来的,唉,真悲哀 啊涂涂 发表于 2018-9-30 18:56
呵呵,自己讲都讲不清楚像疯狗一样,真不知道你的25个最佳答案哪里来的,唉,真悲哀
几年之后你估计还是这个狗样,哎,放弃吧,ZZ Krant5 发表于 2018-10-1 01:10
几年之后你估计还是这个狗样,哎,放弃吧,ZZ
不好意思,问题我早就解决了。拿你开开心而已,自己学成这个烂样子还教别人呢,你是真的秀~
页:
[1]