Perguntas com a marcação «c»

C é uma linguagem de programação de uso geral usada para programação do sistema (SO e incorporado), bibliotecas, jogos e plataformas cruzadas. Essa tag deve ser usada com perguntas gerais sobre o idioma C, conforme definido na norma ISO 9899 (a versão mais recente, 9899: 2018, exceto quando especificado em contrário - também tag as solicitações específicas da versão com c89, c99, c11, etc.). C é diferente de C ++ e não deve ser combinado com a tag C ++, sem um motivo racional.

6
Como as matrizes multidimensionais são formatadas na memória?
Em C, eu sei que posso alocar dinamicamente uma matriz bidimensional na pilha usando o seguinte código: int** someNumbers = malloc(arrayRows*sizeof(int*)); for (i = 0; i < arrayRows; i++) { someNumbers[i] = malloc(arrayColumns*sizeof(int)); } Claramente, isso realmente cria uma matriz unidimensional de ponteiros para várias matrizes unidimensionais separadas de números …


8
O que a chamada do sistema brk () faz?
De acordo com o manual do programador Linux: brk () e sbrk () alteram o local da interrupção do programa, que define o final do segmento de dados do processo. O que o segmento de dados significa aqui? É apenas o segmento de dados ou dados, BSS e heap combinados? …
184 c  linux  unix  memory-management  brk 

16
C ler arquivo linha por linha
Eu escrevi esta função para ler uma linha de um arquivo: const char *readLine(FILE *file) { if (file == NULL) { printf("Error: file pointer is null."); exit(1); } int maximumLineLength = 128; char *lineBuffer = (char *)malloc(sizeof(char) * maximumLineLength); if (lineBuffer == NULL) { printf("Error allocating memory for line buffer."); …
184 c  file-io  line  std 


8
Sobrecarregando macro no número de argumentos
Eu tenho duas macros FOO2e FOO3: #define FOO2(x,y) ... #define FOO3(x,y,z) ... Quero definir uma nova macro da FOOseguinte maneira: #define FOO(x,y) FOO2(x,y) #define FOO(x,y,z) FOO3(x,y,z) Mas isso não funciona porque as macros não sobrecarregam o número de argumentos. Sem modificar FOO2e FOO3, existe alguma maneira de definir uma macro …
183 c  macros  c-preprocessor 


2
Uso realista da palavra-chave 'restringir' C99?
Eu estava navegando através de alguma documentação e perguntas / respostas e vi isso mencionado. Eu li uma breve descrição, afirmando que seria basicamente uma promessa do programador de que o ponteiro não será usado para apontar para outro lugar. Alguém pode oferecer alguns casos realistas em que vale a …
183 c  gcc  c99  restrict-qualifier 


8
Como comparo corretamente as strings?
Estou tentando obter um programa para permitir que um usuário insira uma palavra ou caractere, armazene-o e imprima-o até que o usuário digite novamente, saindo do programa. Meu código fica assim: #include <stdio.h> int main() { char input[40]; char check[40]; int i=0; printf("Hello!\nPlease enter a word or character:\n"); gets(input); printf("I …
182 c  string  strcmp 


6
Como definir e usar um ENUM no Objective-C?
Declarei uma enumeração no meu arquivo de implementação, como mostrado abaixo, e declarei uma variável desse tipo na minha interface como PlayerState thePlayerState; e usei a variável em meus métodos. Mas estou recebendo erros afirmando que não está declarado. Como declaro e uso corretamente uma variável do tipo PlayerState nos …
180 iphone  objective-c  c 



10
Instrução Switch: o padrão deve ser o último caso?
Considere a seguinte switchdeclaração: switch( value ) { case 1: return 1; default: value++; // fall-through case 2: return value * 2; } Esse código é compilado, mas é válido (= comportamento definido) para C90 / C99? Nunca vi código em que o caso padrão não seja o último. Edição: …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.