n개의 구조체를 나누는 방법

uni2u의 이미지

안녕하세요?

질문이 있어서 글을 올립니다.

다름이 아니라...

n개의 구조체를 나누는 방법을 알고 싶습니다.

설명하자면...

a.h => 구조체

a.cpp => for 루프를 돌면서 구조체에 값을 담습니다.
=> 그럼 루프 만큼의 구조체가 생성될 텐데요.
=> 이 구조체를 나누고 싶습니다.

예를들어 100번의 루프를 돌면서 구조체 값을 체우고...
이 구조체의 size()를 하여 size를 구한 뒤...
해당 size()를 50으로 나눈 후 0번 ~ 49번 까지, 50번 ~ 99번 까지 값을 넣고 싶은데 어떻게 해야 할까요?

dingkyu의 이미지

필요한 만큼 구조체를 생성하면 될텐데요.
그때그때 필요한 양이 다르면 malloc으로 하면 될꺼고
언제나 그 양이 정해져 있으면 배열로 잡는게 좋을듯 합니다.

제가 이해를 잘 못하고 있는진 모르겠는데
루프를 돌면서 값을 대입한다고 구조체가 생성되는 일은 절대로
없을꺼라 생각됩니다.

구조체를 먼저 원하는 개수대로 만들고
그 다음에 구조체의 개수만큼 루프를 돌면서 값을 대입하는 거겠죠.

고민이 많아 고민인 애늙은이 입니다.

baboda4u의 이미지

1. 100루프를 돌면 구조체가 100개 생성된다?
: 구조체 생성은 malloc으로 합니까? -_-?

2. size()크기로 나눈다? -_-?
:1번에 의문이 안풀려 당췌 이해가 안됩니다.

-_-; 소스라도 올려주세요;;;^^

============================
Stay Hungry, Stay Foolish

seungrye의 이미지

malloc으로 생성한 정확한 갯수를 모르는 구조체 리스트의 50번째 구조체부터 다른값을 넣고 싶다. 뭐 이런질문 아닌가요?

함수에 인자로 구조체 배열의 포인터가 넘어와버리면 저런 생각 할수도 있다 싶은데요...(어차피 최대 인덱스 번호는 같이 넘어 오긴 올테지만..)

bushi의 이미지

malloc으로 생성한 정확한 갯수를 모르는 구조체 배열의 앞쪽 절반과 뒷쪽 절반을 다르게 초기화하고 싶다.
라는 질문 같고,
크기를 정확히 모르는 공간을 어떤 값으로 채우고 싶다라는 질문과 등가라 생각합니다.

C 프로그래밍이 문제가 아니라 국어,산수부터 개념정리가 필요한 질문같습니다.

OTL

seungrye의 이미지

음..

구조체가 있다는건.. 대체로 선언부(헤더)에 구조체 형식이 있잖아요.
그리고, 아마도.. (제가 생각한 상황이라면)거의 100% 구조체 배열의 갯수가 인자로 넘어올텐데..
(애초 질문자가 그걸 모른다면.. 전제부터가 잘못된것이니...)

그러면
sizeof(구조체) * 구조체배열갯수
해서 크기를 알 수 있지 않나요?

하긴.. 이런지경이면, 굳이 메모리 크기 알아내서 자르고 붙이고 안해도 되겠네요..
그냥 배열처럼 취급해 버리면..

질문이 이상하긴 하네요..ㅎㅎ;;

PS. 근데.. `구지`가 맞나요? `굳이`가 맞나요.. 이거.. 나이도 어린데 국어실력이...;

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.