我正在编写一个程序来计算两个数字的最大公约数,但我遇到了malloc函数和指针的问题。实际上,堆栈和堆段在内存中如何工作以及为什么工作是很清楚的。但是,我还无法理解malloc在程序中何时声明指针和使用是否有效、是否必要。这是代码:
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
int *calcolaDivisori(int);
int main(int argc, char** argv) {
int foundCounter = 0;
int i,j,s1,s2;
int n1,n2;
int mcd = 1,mcm;
int *pn1,*pn2;
int d1[100],d2[100];
// INPUT dei due interi
printf("Inserisci il primo numero :");
scanf(" %d", &n1);
printf("\nInserisci il secondo numero :");
scanf(" %d", &n2);
// calcolo divisori del primo e del secondo numero e li assegno ai relativi array
pn1 = calcolaDivisori(n1);
if (!pn1) return 1;
pn2 = …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用该功能
RectTransformUtility.RectangleContainsScreenPoint()
Run Code Online (Sandbox Code Playgroud)
与 foreach 循环一起,但我没有得到结果..
这是我的代码:
if (Input.touchCount > 0)
{
foreach (RectTransform rectt in content.GetComponentsInChildren<RectTransform>())
{
if (RectTransformUtility.RectangleContainsScreenPoint(rectt, Input.GetTouch(0).position, cam))
{
switch (Input.GetTouch(0).phase)
{
case TouchPhase.Began:
Debug.Log("BEGAN");
scroll.GetComponent<UnityEngine.UI.ScrollRect>().enabled = false;
break;
case TouchPhase.Ended:
Debug.Log("ENDED");
scroll.GetComponent<UnityEngine.UI.ScrollRect>().enabled = true;
break;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
实际上滚动的东西就在那里,因为当触摸位于数组的 rectTransform 内部时,我禁用了滚动矩形的滚动,或者至少这就是我想要做的。
该脚本附加到滚动视图的内容中。