첫루프 감지 ( C언어 )

kinys4의 이미지

안녕하세요. 궁금한게 있습니다.

예를들어서 실행하면 GUI에서 닫힘 버튼이 눌릴때까지 while문에서 머무는 구조가 있다고 생각했을때,
제가 돌리고 싶은 로직안에 루프가 첫루프에만 특정 작업을 하고 싶습니다.
C++을 이용했을때에는 클래스내 멤버 변수에 변수하나를 만들어 카운트 했는데요,
사용하는 환경이 C언어라서 어떻게 하는게 이쁘게 될지 여쭙고 싶습니다.

int main(void)
{
  while(닫힘버튼 off)
  {
    내가 돌리고 싶은 로직
  }
 
  return 0;
}

그동한 아래와 같은 방법으로 했었는데 좀더 효율적인 방법 알고계신분 알려주세요 !

int global_cnt = 0;
 
int main(void)
{
  while(닫힘버튼 off)
  {
    if(global_cnt == 0)
    {
       첫루프에서 할 작업
    }
    내가 돌리고 싶은 로직
    global_cnt++;
  }
  return 0;
}

익명 사용자의 이미지

Any problem?

int main(void)
{
  {
    // 첫루프에서 할 작업
  }
  while(/* 닫힘버튼 off */)
  {
    // 내가 돌리고 싶은 로직
  }
  return 0;
}
swish95의 이미지

사실 이게 정답이죠..
loop 에 들어가는 조건에 있다면 그 조건만 global 로 두는게 좋겠네요

------------------------------------------------------------
ProgrammingHolic

김윤섭의 이미지

다른 방법이 있는줄 알았는데 ㅜㅜ 흑흑 글로벌 변수를 쓰기가 꺼려져서요 뭔가 계속 증가하고 잇는것도 싫고..

김윤섭의 이미지

다른 방법이 있는줄 알았는데 ㅜㅜ 흑흑 글로벌 변수를 쓰기가 꺼려져서요 뭔가 계속 증가하고 잇는것도 싫고..

익명 사용자의 이미지

int main(void)
{
  {
    // 루프 안에서 쓰고 싶은 변수들 선언
    {
      // 첫루프에서 할 작업
    }
    while(/* 닫힘버튼 off */)
    {
      // 내가 돌리고 싶은 로직
    }
  }
  return 0;
}

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.