cノートを復習する

1827 ワード

1:switch()の後は整形式でなければなりません.c言語では文字を整形していますので、文字は処理できますが、浮動小数点型と文字列はできません.
2:char str=「xiabro」 sizeof(str)は7で\0の長さがあります.
3:http://blog.csdn.net/Veini/article/details/5633874
4:配列が関数としての形式パラメータである場合、配列の長さ、例えばint funは説明しなくても良い(しかも通常の場合). a[]配列の長さを知る必要がある場合は、もう一つのパラメータで長さを指定する必要があります.
void fun(int a[])
{
	int n = sizeof(a);//  4 a[0]
	printf("%d",n);
}
void main()
{
	int a[10];
	printf("%d
",sizeof(a));// 40 fun(a); }
以上からsizefは関数で配列の長さを求められないことが分かります.過去を伝えるのは関数のアドレスだけです.
5:int*pInt;*pInt=9エラー、pintはまだ住所がありません.int *pInt=new intスタックにチェーンメモリを割り当てて、チェーンメモリの中の大きな塊を指します.*pInt=9.9はこのメモリに割り当てられます.
6:文字列を反転させるcプログラム
方法1は、追加のメモリスペースが必要です.
void reversesrc(char *src1)
{
    int len = strlen(src1);
    
    char *dest = (char *)malloc(len+1);//    
    
    char *s = &src1[len - 1];//        
    char *d = dest;
    while(len--)
    {   
        *d++ = *s--;
    }
    *d= 0;//   '\0'
    printf("%s
",dest); free(dest); dest = NULL; }
方法2
int main()
{
    char str[] = "hello,world";
    int len = strlen(str);
    int i;
    char t;
    for(i = 0; i < len/2; i++)
    {
        t = str[i];
        str[i] = str[len - i - 1];
        str[len - i - 1] = t;
    }
    printf("%s",str);
    reversesrc(str);
    while(1);
}
7:mallocであなたの過程の中でどれぐらいのメモリを割り当てることができますか?
#include"stdio.h"
#include"stdlib.h"
void main()
{
    int MB = 0;
    while(malloc(1 << 20))++MB;
    printf("Allocated %d MB total
",MB); }
8:long 4バイト、int 32ビットで4バイト、16ビットシステムで2バイト
9:TCP 3握手と4回手を振るhttp://www.cppblog.com/csolay/archive/2011/10/22/158859.html
10:プロセスとスレッド http://www.cnblogs.com/engine1984/archive/2007/08/22/865562.html