수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

5줄짜리 배열 짧은 질문 하나 부탁드려여

미즈

2023.04.01

#include stdio.hint main(){

int str[] = {1,2,3,4,5}; //이런식으로 int형 배열에 각각 1~5로 초기화. printf(%s, &str); //str 상수를 출력하고싶습니다. 1234가 나오게 하고싶습니다

return 0;}ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ원하는 결과값이12345입니다.제가 공부한 바로는 str은 상수와 같은데...배열을 초기화할때 12345 로 초기화 시킨거랑 1,2,3,4,5 랑 다른건가요?

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 알찬바로

    그렇군요.

    \윈도우 API\를 쓴 분도 \배열명은 포인터 상수다.\ 라고 말하고 있군요.
    결국 그 이유로 sizeof(배열), &배열은 예외라고 말할 수 밖에 없구요.

    \배열 이름의 자료형은 type[length] 이며, 값으로 사용될 때 주소값을 나타내며, 이것은 상수입니다.\

    제가 하고자 하는 말입니다.

  • 설희

    배열 이름은 배열의 참조입니다.
    배열 이름이 대입이 안되는 것은 상수이기 때문이 아니고,
    배열은 = 연산자로 대입할 수 없기 때문입니다.

    const int a = 0; 에서 a 는 상수라기 보다는 읽기 전용 변수에 가깝습니다.
    a 는 메모리에 대한 참조이기 때문입니다.

    배열이름이 주소값이라고 하면,
    sizeof(arr) 의 값이 배열의 용량이 되는 것은 또 어떻게 설명할 수 있습니까?

    억지부리는 것이 아니고, 상식이라고만 할 것이 아니고,
    모

  • 코이

    배열 이름이 뭡니까? 주소값이죠?
    배열 이름에 대입이 됩니까? 안 되죠?

    상수에 & 를 붙일 수 없다는 건 억지입니다.
    상수는 리터럴 상수만 있는 게 아니라 심볼릭 상수도 있습니다.
    const int a = 10; 이라고 할 때, &a 가 성립하지 않습니까?

    추측만으로 말도 안 되는 논리 펼치시는 거 아닙니다.
    배열이 주소값 상수인 것은 검증된 상식입니다.

  • 소심한여자

    int[5] 라고 하시면서 주소값 상수라고 하시네요.
    int[5] 는 그냥 배열이잖아요. 포인터 상수가 아니고...

    주소값 상수라고 하시는 것은 결국 포인터를 말씀하시는 것이고
    int * 형인 상수값을 말씀하시는 것 아닌가요?

    str 은 상수가 아닙니다. 상수에는 & 을 붙일 수 없기 때문입니다.

    배열을 주소값 상수라고 하는 것은
    \배열을 평가하면 배열의 첫번째 요소의 주소가 얻어진다\는 말을
    강조하기 위한 화법일 것입니다.

    배열이 주소값

  • 한뎃집

    그럼 이렇게 말할까요? int[5] 형은 주소값 상수입니다.
    누가 자료형이 int * 이라고 했나요?

    님이 하신 말은 str 의 형이 int * 이 아니라는 걸 말했을 뿐,
    str 이 상수가 아니라는걸 증명하지 못합니다만? ^_^

    배열이 주소값 상수라는 건 입문서에도 나오는 상식입니다.

  • 큐트

    T a;

    라고 정의하면, a 의 자료형은 T 입니다.

    위의 str의 정의를 다시 써보면,

    typedef int T[5];

    T str = {1,2,3,4,5};

    str 의 자료형은 T 죠. int 가 5 개인 배열입니다. 즉, str 의 자료형은 int [5] 입니다.

    sizeof(str) == sizeof(T) == sizeof(int[5])

    이지

    sizeof(str) == sizeof(int *)

    는 아니죠.

    자료형이 int *

  • 앨프레드

    주소값 상수라니까요.

  • 날개

    상수 자료형이 뭔데요?

  • 튼싹

    배열 이름은 주소값 상수가 맞습니다.
    배열 이름에 주소값 연산을 하면 자기 자신이 나옵니다.

  • 물병자리

    아니 도대체 누가 str 이 상수라고 하나요?
    str 은 배열이에요. 변수에 가깝죠.
    여러 값이 묶여져 있어서 = 연산자를 쓰지 못할 뿐이지,
    상수는 아닙니다.

    상수라면 &5 가 에러이듯이,
    &str 도 에러로 처리되어야 하잖아요.

번호 제 목 글쓴이 날짜
2700041 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? 헛장사 2025-07-01
2700012 배열// (1) 전갈자리 2025-07-01
2699895 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) 선아 2025-06-30
2699842 질문을 너무 많이 하네여.....죄송.... (2) 해님꽃 2025-06-29
2699816 오류 질문입니다.. (1) 해비치 2025-06-29
2699763 질문입니다 ! 꼭 좀 도와주세요ㅠㅠ (2) 미라 2025-06-28
2699555 c언어 다항식을 입력을 했는데 왜 출력이 안될까요? 피스케스 2025-06-27
2699528 C언어 포인터연산 질문입니다. (3) 안녕나야 2025-06-26
2699476 끌어올림;;달력 짜봤는데요 이 소스 줄일 수 있나요? - 스샷첨부 (2) 클라우드 2025-06-26
2699444 [좀 급함] system("explorer [주소] ") 문에 변수를 사용할 수 있나요? 알 2025-06-26
2699415 파일//read//와 배열 아란 2025-06-25
2699386 구조체 안에 일부분만 char 배열에 복사하려면 어떻게 해야하나요? (1) 미즈 2025-06-25
2699361 연결리스트 정렬하는 부분에 대해서 질문 드립니다 아이처럼 2025-06-25
2699304 [기초]아직 안주무시는분 계신가요..?포인터배열? 좀 도와주세요. 놀리기 2025-06-24
2699272 printf() 함수이용해서 프로그램 만들기 질문요! (5) 다가 2025-06-24
2699221 PUSH와 POP코드를 더 간단하게 어떻게 해야할까요? 파라미 2025-06-24
2699192 설치오류가 자꾸 나요 한번봐주세여~ (1) 소녀틳향기 2025-06-23
2699161 for loop안에 있는 if문 (9) Orange 2025-06-23
2699105 링크더리스트 이전 링크값 출력함수. 꼬꼬마 2025-06-23
2699078 정수를 한자리씩 배열에 담는 법은 어떻게 하나요.. (4) 귀염포텐 2025-06-22
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com