10 * 10 배열을 잡고 싶습니다,

lkjt의 이미지

#include <stdio.h>
#include <malloc.h>

int main()
{
	char **a;
	// 10 * 10
	*a = (char **)malloc(sizeof(char *) * 10);
	int i,j;

	for(i=0;i<10;i++)
	{
		a[i] = (char *)malloc(sizeof(char) * 10)
	}

	for(i=0;i<10;i++)
	{
		for(j=0;j<10;j++)
		{
			a[i][j] = i * 10 + j;
		}
	}

	for(i=0;i<10;i++)
	{
		for(j=0;j<10;j++)
		{
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}

	printf("EXIT\n");
	return 0;
}

malloc 으로 해보려니 잘 모르겠군요,

어떻게 해야 하나요? :evil:

alwaysrainy의 이미지

   char **a; 
   // 10 * 10 
   *a = (char **)malloc(sizeof(char *) * 10); 
   int i,j; 

선언을 먼저 끝내야죠.. 플그램은 어쨌든 돌아갈 것으로 보이구요..

   char **a; 
   // 10 * 10 
   int i,j; 
   *a = (char **)malloc(sizeof(char *) * 10); 

글구

a[i][j] = i * 10 + j;

여기서 제 생각으로는 a[i][j]에게 할당된 크기는 sizeof(char) 즉, 1byte 입니다.
문제내에서는 별 문제가 없겠지만 정수형 값을 대입하기에는 오버플로우의
위험이 따릅니다. 정수형 값을 다루어야 하는 플그램일 경우

   int **;

   a = (int **) malloc(sizeof(int *) * 10);

   for(i=0;i<10;i++)
   {
      a[i] = (int *)malloc(sizeof(int) * 10) ;
   }

이런식으루 바꾸어야 하지 않을까요? 짐 작업가능한 서버에 접속이 안되서.. (학겨 네트웍 문제 ㅡ.ㅜ)
나중에 확인해 보구 정정사항 있으면 올리겠습니다. ^^;

---------------------------------------
세계는 넓고, 할일은 많다.

tinywolf의 이미지

음..
*a = (char **)malloc(sizeof(char *) * 10);
이게 아니고..
a = (char **)malloc(sizeof(char *) * 10);
이게 아닐지..

헛.. 내가 착각하는 건가.. 그렇다고 확인해 보기는 귀차니즘이니 패스..

ㅡ_ㅡ;

alwaysrainy의 이미지

헛.. 맞습니다. 아까 깜빡하고 언급을 안했네요..
*a에 할당된 메모리의 어드레스를 담으면 안되죠 ~
a가 맞습니다.

---------------------------------------
세계는 넓고, 할일은 많다.

lkjt의 이미지

그렇군요?,,,

그것만 때문인가요?

ixevexi의 이미지

음..

제가 알기론 개정된 C표준에서(C99)

중간에서 선언을 해도 된걸로 허용이 된걸로 알고있는데

아닌가요?

C++, 그리고 C++....
죽어도 C++

lkjt의 이미지

네ㅡ 중간에서 선언해도 됩니다,

댓글 달기

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