A1. p는 포인터입니다. 따라서 p에는 4바이트 정수가 저장됩니다. -> sizeof(p)==4
A2. atoi는 문자열을 숫자로 변경합니다. 따라서 atoi(&p[0])==12345, atoi(&p[1])==2345입니다.
11720번 - 숫자의 합
A1. p는 포인터입니다. 따라서 p에는 4바이트 정수가 저장됩니다. -> sizeof(p)==4
A2. atoi는 문자열을 숫자로 변경합니다. 따라서 atoi(&p[0])==12345, atoi(&p[1])==2345입니다.
sizeof(p)에서 p는 포인터 변수이므로 포인터 변수 자체의 바이트크기가 나오고 char p[30] 에서 sizeof(p)는 배열의 이름이므로 전체(30바이트)가 출력되는 건가요?
네 맞습니다
댓글을 작성하려면 로그인해야 합니다.
potocanon1234 2년 전
Q1. 원래 fgets()에서 sizeof(p)를 썻는데 계속 버퍼 오버런이 나오더라구요 그래서 (N+1)*sizeof(char)쓰니까 그런 경고는 안나와서 왜 경고가 고쳐졌는지 질문 드립니다
Q2. 경고는 안뜨는데 출력이 이상한 정수가 출력됩니다;; 문제점좀 지적해주세요ㅠㅠ