题解 | #嵌入式宏空间坐标数量#

嵌入式宏空间坐标数量

https://www.nowcoder.com/practice/d39d14aa884f490a987854fbc5248b7e

/**
 * struct Point {
 *	int x;
 *	int y;
 * };
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param point Point类 上方struct仅为二维空间点类示例,题中为多维空间的点类
 * @return int整型
 */
int define_count(struct Point point ) {
    // write code here
    return sizeof(point) / sizeof(point.x);
  //这里是因为里面的变量的类型一致,就直接使用sizeof()
}


由题目可知道,它struct Point这个结构体内部有两个维度1.是x维度,2是y维度。它要我们求这个点类有几个变量。转换思想就是我们可以从它的几个维度进行改变,从而获得一个新变量。由数学可以知道,第一维度始终是点,那么我们不妨为x,那么不断增加新的维度,就是在不断增加变量的数量。2维的点类就有2个变量,依次类推,3维就有3个变量.

所以,我们就通过这个sizeof(point)---获取结构体变量的大小 / sizeof(point.x) --- x的类型大小获取总共的变量数

这里point里面的类型一定要保持一致才有这个结论。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务