배열포인터 짧은 질문 하나 합니다
겨울c
2023.04.01
질문 제목 : 질문 내용 :
#include stdio.h
#include string.h
void main()
{
char (*p)[10];
int i=0;
p = (char *)malloc(sizeof(char));
for(i=0;i2;i++)
scanf(%s,p[i]);
for(i=0;i2;i++)
printf(%s\n,p[i]);
}여기서 (*p)[10] 에 [10]은 행의 수를 나타내는거 아니였나요?ㅠ
자꾸 10자리만 넣으면 짤리네요..
열의 사이즈를 유동적으로 하고싶은데.. 어떻게 해야할까요?
-
횃대비
문자열 끝을 널로 안끝내 줘서 뒤에 버퍼에 들어간 쓰레기값이 붙는거 같은데요
따로 널값을 집어넣어 주거나 9자리만 치고 엔터 누르셈 선언좀 잘못된듯 -
놓아주세요
p = (char (*)[10])malloc(sizeof(char[10])*2);
처럼 하셔야 정석입니다.
[10]은 열의 수입니다.
char *p[10]; 처럼 하면 [10] 은 행의 수입니다. -
얼
char (*)에 char*이 할당되던가요??
컴파일이 안되어야 정상 같은데...