user-0 提问: 关于指针与数组的疑问

回复:
user: user-1
content: sizeof(a)是指针a的大小，不是a所在指向的存储空间的大小

user: user-0
content: 引用 12 楼 ganpengjin1 的回复:[quote=引用 9 楼 seraphlyy 的回复:] [quote=引用 6 楼 zhuobattle 的回复:] [quote=引用 5 楼 seraphlyy 的回复:] [quote=引用 3 楼 zhuobattle 的回复:] a所在指向的存储空间比t的要大: 这句话压根不成立，你拿一个变量和一个指针有什么好比的呢？额，你没明白的意思，如果此时a就是单纯的指针变量，那我传递给t的地址给a的时候，a就该指向存储t变量的那个存储区域，但是现在是a指向的那块区域被扩大了[/quote] 就因为sizeof(a)=4，你就说是被扩大了？[/quote]不是，因为sizeof(a)=4，我贴图给你看吧[/quote] 最后再回复你一下，不想再多说了： 1，a是指向的b【2】这个数组，并不是扩大了，懂？？？？ 2，你在sizeof（a）用为4，不是什么内存扩大了。 3，该仔细看书，该多思考。[/quote]你误会我的意思了。我已经知道哪里误解了。

user: user-2
content: sizeof(a)是指针变量的大小，32位程序永远为4，和指针指向的数组大小没有任何关系。

user: user-0
content: 引用 11 楼 zhuobattle 的回复:[quote=引用 9 楼 seraphlyy 的回复:] [quote=引用 6 楼 zhuobattle 的回复:] [quote=引用 5 楼 seraphlyy 的回复:] [quote=引用 3 楼 zhuobattle 的回复:] a所在指向的存储空间比t的要大: 这句话压根不成立，你拿一个变量和一个指针有什么好比的呢？额，你没明白的意思，如果此时a就是单纯的指针变量，那我传递给t的地址给a的时候，a就该指向存储t变量的那个存储区域，但是现在是a指向的那块区域被扩大了[/quote] 就因为sizeof(a)=4，你就说是被扩大了？[/quote]不是，因为sizeof(a)=4，我贴图给你看吧[/quote] 呵呵，这也能证明扩大了吗？那个地方，随便写个只要存在的地址它都能给你显示出结果了。 [/quote]测了下，果然如此。谢谢了

user: user-3
content: 引用 9 楼 seraphlyy 的回复:[quote=引用 6 楼 zhuobattle 的回复:] [quote=引用 5 楼 seraphlyy 的回复:] [quote=引用 3 楼 zhuobattle 的回复:] a所在指向的存储空间比t的要大: 这句话压根不成立，你拿一个变量和一个指针有什么好比的呢？额，你没明白的意思，如果此时a就是单纯的指针变量，那我传递给t的地址给a的时候，a就该指向存储t变量的那个存储区域，但是现在是a指向的那块区域被扩大了[/quote] 就因为sizeof(a)=4，你就说是被扩大了？[/quote]不是，因为sizeof(a)=4，我贴图给你看吧[/quote] 少年，看来你的路还很长，要好好学习。

user: user-4
content: 引用 9 楼 seraphlyy 的回复:[quote=引用 6 楼 zhuobattle 的回复:] [quote=引用 5 楼 seraphlyy 的回复:] [quote=引用 3 楼 zhuobattle 的回复:] a所在指向的存储空间比t的要大: 这句话压根不成立，你拿一个变量和一个指针有什么好比的呢？额，你没明白的意思，如果此时a就是单纯的指针变量，那我传递给t的地址给a的时候，a就该指向存储t变量的那个存储区域，但是现在是a指向的那块区域被扩大了[/quote] 就因为sizeof(a)=4，你就说是被扩大了？[/quote]不是，因为sizeof(a)=4，我贴图给你看吧[/quote] 最后再回复你一下，不想再多说了： 1，a是指向的b【2】这个数组，并不是扩大了，懂？？？？ 2，你在sizeof（a）用为4，不是什么内存扩大了。 3，该仔细看书，该多思考。

user: user-3
content: 引用 9 楼 seraphlyy 的回复:[quote=引用 6 楼 zhuobattle 的回复:] [quote=引用 5 楼 seraphlyy 的回复:] [quote=引用 3 楼 zhuobattle 的回复:] a所在指向的存储空间比t的要大: 这句话压根不成立，你拿一个变量和一个指针有什么好比的呢？额，你没明白的意思，如果此时a就是单纯的指针变量，那我传递给t的地址给a的时候，a就该指向存储t变量的那个存储区域，但是现在是a指向的那块区域被扩大了[/quote] 就因为sizeof(a)=4，你就说是被扩大了？[/quote]不是，因为sizeof(a)=4，我贴图给你看吧[/quote] 呵呵，这也能证明扩大了吗？那个地方，随便写个只要存在的地址它都能给你显示出结果了。

user: user-0
content: 引用 8 楼 abc814251901 的回复:a仅仅是一个指针，他指向的是变量t,这个跟t占多少空间没有关系的 这两个也没有啥可比性啊

user: user-0
content: 引用 6 楼 zhuobattle 的回复:[quote=引用 5 楼 seraphlyy 的回复:] [quote=引用 3 楼 zhuobattle 的回复:] a所在指向的存储空间比t的要大: 这句话压根不成立，你拿一个变量和一个指针有什么好比的呢？额，你没明白的意思，如果此时a就是单纯的指针变量，那我传递给t的地址给a的时候，a就该指向存储t变量的那个存储区域，但是现在是a指向的那块区域被扩大了[/quote] 就因为sizeof(a)=4，你就说是被扩大了？[/quote]不是，因为sizeof(a)=4，我贴图给你看吧

user: user-5
content: a仅仅是一个指针，他指向的是变量t,这个跟t占多少空间没有关系的 这两个也没有啥可比性啊

user: user-0
content: 引用 1 楼 ganpengjin1 的回复:注意，参数没有数组的说法，都是指针。我的描述有误，我的意思不是a本身，而是a指向的那块区域，

user: user-3
content: 引用 5 楼 seraphlyy 的回复:[quote=引用 3 楼 zhuobattle 的回复:] a所在指向的存储空间比t的要大: 这句话压根不成立，你拿一个变量和一个指针有什么好比的呢？额，你没明白的意思，如果此时a就是单纯的指针变量，那我传递给t的地址给a的时候，a就该指向存储t变量的那个存储区域，但是现在是a指向的那块区域被扩大了[/quote] 就因为sizeof(a)=4，你就说是被扩大了？

user: user-0
content: 引用 3 楼 zhuobattle 的回复:a所在指向的存储空间比t的要大: 这句话压根不成立，你拿一个变量和一个指针有什么好比的呢？额，你没明白的意思，如果此时a就是单纯的指针变量，那我传递给t的地址给a的时候，a就该指向存储t变量的那个存储区域，但是现在是a指向的那块区域被扩大了

user: user-4
content: 引用 2 楼 seraphlyy 的回复:引用 1 楼 ganpengjin1 的回复:注意，参数没有数组的说法，都是指针。你的意思此时参数a就是个指针，那为何test(&t);时候a所在指向的存储空间比t的要大 注意是空间位置，与大小无关，内存位置由编译器随机分配。如果你sizeof参数a，那它就是sizeof（指针大小） = 4

user: user-3
content: a所在指向的存储空间比t的要大: 这句话压根不成立，你拿一个变量和一个指针有什么好比的呢？

user: user-0
content: 引用 1 楼 ganpengjin1 的回复:注意，参数没有数组的说法，都是指针。你的意思此时参数a就是个指针，那为何test(&t);时候a所在指向的存储空间比t的要大

user: user-4
content: 注意，参数没有数组的说法，都是指针。