이 주제를 어디 올려야할지 몰라서 이렇게 여기 자유게시판에 올립니다.
얼마전에 아는 후배가 a[1] == 1[a]라고 말하더군요.
이걸 보자마자 "안돼!"라고 머리가 외쳤지만 왠지 될 것 같은.
결과는 됩니다. 여러분들도 알고 계셨나요? 아님 저만 몰랐나요 ㅡㅡ++
궁금해서 ^^*
x[y] <=> *(x + y)
equivalent 합니다.
불현듯 지금 즈음이 전웅님 책이 나올 시기라는 생각이 드네요
어째 1월 중순에 원고가 넘어갈 예정이라는 말이었는데 :evil: 에효 빨리 책 사야하는데 ㅠ.ㅜ
C++, 그리고 C++.... 죽어도 C++
흠... a[b] == b[a]란건 예전부터 알고 있었지만 변수명 대신 숫자를 써도 되는지는 몰랐군요.
예전에 scjp 덤프 문제 쌓아놓구 봤을때 저런 문제로 상당히 많이 해깔렸다는 :oops:
젊음의 도전은 때로는 무모해야한다.
다시 체계적으로 배우는 c언어 포인터 / 정보문화사 / 정재은 저 ====================================== p98에서 보면...
c언어에서의 []는 연산자이다. 두 개의 피 연산자를 가지며 하나의 피 연산자자는 기본 위치를, 다른 피 연산자는 기본 위치에서 얼마만큼 떨어져 있는지를 나타내는 것이다. .... 그러므로 순서가 상관없게 된다.
저도 처음에 내용을 보고 조금 놀랐습니다. 재밌더군요.
예전에 같은 내용으로 글을 올린 적이 있었는데...^^
C에서는 연산자이기 때문에 가능합니다. 자바나 C-like한 다른 문법의 언어는 대부분 문법적으로 []앞에 배열명이 오도록 파싱 트리가 구성되어서 안되는 걸로 알지만요.
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
이것과 관련된 제일 재미있었던 수식은 다음과 같습니다.
3["abcdefg"] == 'd'
obfuscated code 만들 때 많이 씁니다. 예를 들어서 (a+b)
를 c[a+b]로 만들어서 2바이트를 절약한다던지... :) 물론 C에서만 되고 (C++는 error인지 warning인 지 기억이 안 나네요.) java나 c 비스무리한 언어들에서는 될 리가 없습니다. 이 feature는 특수한 경우라도 쓸 일이 없을 것 같군요. - 토끼군
x[y] <=> *(x + y)equivalen
x[y] <=> *(x + y)
equivalent 합니다.
이 글을 보니...
불현듯 지금 즈음이 전웅님 책이 나올 시기라는 생각이 드네요
어째 1월 중순에 원고가 넘어갈 예정이라는 말이었는데 :evil:
에효 빨리 책 사야하는데 ㅠ.ㅜ
C++, 그리고 C++....
죽어도 C++
흠... a[b] == b[a]란건 예전부터 알고 있었지만 변수명 대신
흠... a[b] == b[a]란건 예전부터 알고 있었지만 변수명 대신 숫자를 써도 되는지는 몰랐군요.
음
예전에 scjp 덤프 문제 쌓아놓구 봤을때 저런 문제로 상당히 많이 해깔렸다는 :oops:
젊음의 도전은 때로는 무모해야한다.
제가 보던 책에서 관련된 내용이 나오는군요~
다시 체계적으로 배우는 c언어 포인터 / 정보문화사 / 정재은 저
======================================
p98에서 보면...
c언어에서의 []는 연산자이다. 두 개의 피 연산자를 가지며 하나의 피 연산자자는 기본 위치를, 다른 피 연산자는 기본 위치에서 얼마만큼 떨어져 있는지를 나타내는 것이다. .... 그러므로 순서가 상관없게 된다.
저도 처음에 내용을 보고 조금 놀랐습니다. 재밌더군요.
예전에 같은 내용으로 글을 올린 적이 있었는데...^^C에서는 연
예전에 같은 내용으로 글을 올린 적이 있었는데...^^
C에서는 연산자이기 때문에 가능합니다. 자바나 C-like한 다른 문법의 언어는 대부분 문법적으로 []앞에 배열명이 오도록 파싱 트리가 구성되어서 안되는 걸로 알지만요.
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
이것과 관련된 제일 재미있었던 수식은 다음과 같습니다.3["abc
이것과 관련된 제일 재미있었던 수식은 다음과 같습니다.
3["abcdefg"] == 'd'
obfuscated code 만들 때 많이 씁니다. 예를 들어서 (a+b
obfuscated code 만들 때 많이 씁니다. 예를 들어서 (a+b)