[읽 기] C 와 포인터 (Ch4 ~ Ch7)
5312 단어 c 와 포인터독서 노트c프로 그래 밍 언어포인터
if
내장 되 어 있 을 때 else
는 가장 가 까 운 불완전 if
switch
의 마지막 case
에 게 도 break
를 더 하 는 것 이 좋 은 습관 이다.case
은 일반적으로 좋 은 일이 아니다. 유일한 예 외 는 다 중 순환 에서 직접 탈퇴 해 야 할 때 편리 할 수 있 지만 전체 순환 을 하나의 함수 로 포장 한 다음 에 탈퇴 해 야 할 때 직접 break
으로 해결 할 수 있다 goto
는 부동 소수점 int x = 3;
int y = x = x + 2; //
그러나 실제 return
이 %
이 든 아니 든 x
은 하나의 int
결 과 를 되 돌려 주 고 x + 2
에 게 할당 합 니 다. 만약 int
이 사실은 하나 x
라면.이러한 할당 은 결과 의 높 은 위 치 를 차단 할 수 있 기 때문에 얻 은 x
값 의 완전 성 은 보장 되 지 않 고 더 나 아가 char
의 값 도 기대 에 부합 되 지 않 는 다.//
sizeof(x);
sizeof x; // , x
//
sizeof(arr); // ( !!)
//
sizeof(a = b + 3); // , sizeof ,a
// sizeof :
// Expression with side effects has no effect in an unevaluated context
+ + 와 -- 정말 C 영원한 화제 입 니 다.
int a = 10;
int b = a++; // :a b, a
int c = (++a)++; // :++a a , ,
유일한 용 도 는 while 순환 앞 과 내부 에 동시에 나타 나 는 문 구 를 간소화 하 는 것 일 수 있 습 니 다.while 는 매 라운드 시작 전에 조건 을 한 번 씩 수행 하기 때문이다.
char a, b, c;
a = b + c; // a, b, c char,b c int, int , a
연산 에 직접 참여 하 는 값 이 향상 되 지 않 는 기준 에 이 르 러 연산 결과 가 넘 칠 것 이다. 그러면 왼쪽 변 수 는 완전한 결 과 를 충분히 받 아들 일 수 있 더 라 도.얻 은 것 도 먼저 넘 치고 더 긴 값 입 니 다: int a, b;
long c = a * b; // a b , int, c a b
a = ++b + --b; // C , (++b) (--b)
더 좋 은 예 는 다음 과 같다. f() + g() - h();
// , f() g()
심지어 컴 파일 러 도 작은 표현 식 을 먼저 구 한 다음 에 연산 할 수 있다. f() + f() * f();
// , 3 f() , 3 f()
이게 무슨 신선 규정 이 야?그러나 대부분의 경우 엄격하게 조사 되 지 않 아 비교 할 수 있 지만 이식 성 이 약간 떨 어 질 뿐이다
Chapter 7
x
y
stdarg.h
, va_list
, va_start
#include
int sum(int argNum, ...) { //
va_list args;
va_start(args, argNum); // va_start( + ) args
int result = 0;
for (int i = 0; i < argNum; i ++) {
result += va_arg[args, int]; // va_arg
}
va_end(args); // va_end
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로그'메타프로그램 루비 버전 2'4장 읽기블록은'호출 대상'대가족의 일원 호출 방법에서만 블록을 정의할 수 있습니다. 메소드 내부에서 Kernel#blockgiven?사용 방법으로 블록 유무를 확인할 수 있음 블록을 정의한 경우 해당 점에 구속이 적용됩니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.