由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C++指针问题 int (*) [10]
相关主题
问一个关于C++指针的问题指针的大小是 4 byte还是有赖于系统?
一道很奇怪的面试题a weak c question, how to pass an array into a function?
JHQ的一道指针题。用数组做参数,在函数内部如何知道数组的size?
关于二维矩阵的C的问题腆着脸在问一道
difference between: char** p and char*p[] ??再问C++问题。
C里面一个被分配了内存的指针如何知道分配了多少?C++里get array size的问题 (转载)
在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的(转载)python不支持多态
请教 C/C++ 指向多维数组的指针的问题这个怎么allocate memory?
相关话题的讨论汇总
话题: int话题: 10话题: 类型话题: 指针话题: ints
1 (共1页)
z****e
发帖数: 2024
1
int (*m)[10]:
m是一个指针,指向一个 array of 10 ints. m的类型是:int (*) [10]?
int m[10]:
m是一个指针,指向一个 array of 10 ints. m的类型是:int* ?(函数传递时候)
但是我知道,int (*) [10] 和 int* 是不一样的类型对吧?那怎么不一样的类型,却
表示一样的东西:m是一个指针,指向一个 array of 10 ints.?
请大侠指教。
还有:
int*
int [ ]
两者的区别。
int (*) [ ] 是不是一个类型(没有size)?int (*) [5]和 int (*) [10]是不是一样的类型?
z****e
发帖数: 2024
2
刚才试了试,发现int (*) [5]和 int (*) [10]是不一样的。
M*******i
发帖数: 82
3
int m[10]:
the type of m is int[10] not int*. It can be converted to int* automatically
under certain situations.
int(*f)[10]:
f can hold the position of m.
f = &m is correct.
f = m is wrong.

【在 z****e 的大作中提到】
: int (*m)[10]:
: m是一个指针,指向一个 array of 10 ints. m的类型是:int (*) [10]?
: int m[10]:
: m是一个指针,指向一个 array of 10 ints. m的类型是:int* ?(函数传递时候)
: 但是我知道,int (*) [10] 和 int* 是不一样的类型对吧?那怎么不一样的类型,却
: 表示一样的东西:m是一个指针,指向一个 array of 10 ints.?
: 请大侠指教。
: 还有:
: int*
: int [ ]

z****e
发帖数: 2024
4
no.

automatically

【在 M*******i 的大作中提到】
: int m[10]:
: the type of m is int[10] not int*. It can be converted to int* automatically
: under certain situations.
: int(*f)[10]:
: f can hold the position of m.
: f = &m is correct.
: f = m is wrong.

e******d
发帖数: 310
5
int (*) [ ] 是不是一个类型(没有size)?int (*) [5]和 int (*) [10]是不是一样
的类型?
no,
give you an example,
int a[][5] ={{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}};
int b[][10] ={{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}};
int (*c)[5] = a[0];
int (*d)[10] = b[0];
//note (c+1) - c is different from (d+1) - d
// (c+1) - c should be sizeof(int)*5
//(d+1) - d should be sizeof(int)*10
D****A
发帖数: 360
6
1. yes
2. no

【在 e******d 的大作中提到】
: int (*) [ ] 是不是一个类型(没有size)?int (*) [5]和 int (*) [10]是不是一样
: 的类型?
: no,
: give you an example,
: int a[][5] ={{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}};
: int b[][10] ={{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}};
: int (*c)[5] = a[0];
: int (*d)[10] = b[0];
: //note (c+1) - c is different from (d+1) - d

M*******i
发帖数: 82
7
I think I clearly explained your misunderstanding

【在 z****e 的大作中提到】
: no.
:
: automatically

z****e
发帖数: 2024
8
good examples.

【在 e******d 的大作中提到】
: int (*) [ ] 是不是一个类型(没有size)?int (*) [5]和 int (*) [10]是不是一样
: 的类型?
: no,
: give you an example,
: int a[][5] ={{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}};
: int b[][10] ={{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}};
: int (*c)[5] = a[0];
: int (*d)[10] = b[0];
: //note (c+1) - c is different from (d+1) - d

M*******i
发帖数: 82
9
this does not compile.
the write way is:
int (*c)[5] = &a[0];

【在 e******d 的大作中提到】
: int (*) [ ] 是不是一个类型(没有size)?int (*) [5]和 int (*) [10]是不是一样
: 的类型?
: no,
: give you an example,
: int a[][5] ={{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}};
: int b[][10] ={{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}};
: int (*c)[5] = a[0];
: int (*d)[10] = b[0];
: //note (c+1) - c is different from (d+1) - d

z****e
发帖数: 2024
10
Thanks.
but i think easyroad means int (*c)[5]=a;

【在 M*******i 的大作中提到】
: this does not compile.
: the write way is:
: int (*c)[5] = &a[0];

z****e
发帖数: 2024
11
what you said was right. but just not quite on the points.
Thank you anyway.

【在 M*******i 的大作中提到】
: I think I clearly explained your misunderstanding
M*******i
发帖数: 82
12
I guess it still involves an implicit conversion.
In some implementations, the value of the pointer is shifted by an offset.

【在 z****e 的大作中提到】
: Thanks.
: but i think easyroad means int (*c)[5]=a;

1 (共1页)
相关主题
这个怎么allocate memory?difference between: char** p and char*p[] ??
问一个defining array 的问题C里面一个被分配了内存的指针如何知道分配了多少?
一个C的void指针的问题在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的(转载)
问个指针array 的简单问题请教 C/C++ 指向多维数组的指针的问题
问一个关于C++指针的问题指针的大小是 4 byte还是有赖于系统?
一道很奇怪的面试题a weak c question, how to pass an array into a function?
JHQ的一道指针题。用数组做参数,在函数内部如何知道数组的size?
关于二维矩阵的C的问题腆着脸在问一道
相关话题的讨论汇总
话题: int话题: 10话题: 类型话题: 指针话题: ints