C.부정 확 한 배열 의 예 를 실현 한다.

1903 단어 C배열
프로그램 을 쓸 때 항상 이러한 배열 을 정의 해 야 합 니 다.앞의 프로그램 이 실 행 된 후에 야 배열 의 크기 를 알 수 있 습 니 다.그러나 C 언어 는 부정 확 한 배열 의 정 의 를 직접 정의 하 는 것 을 지원 하지 않 습 니 다.그러나 우 리 는 동적 배열 을 통 해 부정 확 한 길 이 를 가 진 배열 을 실현 할 수 있 습 니 다.
1 차원 배열:

#include<stdio.h>
#include<stdlib.h>//   malloc        
#include <memory.h>//   memset        
int main()
{
 int m;
 scanf("%d", &m);//scanf            ,         ,             
 getchar();//           
 int *p;
 p = (int*)malloc(m*(sizeof(int)));//      
 memset(p, 0, m);//   ,       
 int i;
 for (i=0;i<m; i++)//    
 {
  p[i] = i;
 }
  for (i = 0; i <m; i++)//    
  {
   printf("%d,", p[i]);
  }
 free(p);//    
 getchar();//     ,     
 return 0;
}
2 차원 부정 장수 그룹

#include <stdio.h>
#include <stdlib.h>//   malloc        
#include <memory.h>//   memset        
int main()
{
 int m, n;
 scanf("%d%d", &m,&n);//scanf            ,         ,             
 getchar();//           
 int **p;
 p = (int**)malloc(m*(sizeof(int*)));//            
 int i, j;
 for (i = 0; i<m; i++)
  p[i] = (int*)malloc(sizeof(int)*n);//            
 for (i = 0; i < m; i++)
  for (j = 0; j < n; j++)
   p[i][j] = i + j;
 for (i = 0; i < m; i++)
 {
  for (j = 0; j < n; j++)
  {
   printf("%d %p ", p[i][j], &p[i][j]);  //         ,               ,            
  }
  printf("
"); } for (i = 0; i < m; i++) free(p[i]); free(p); getchar();// , return 0; }
이상 의 C 가 부정 확 한 배열 을 실현 하 는 예 는 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기